出现bug了
我也碰到了,感觉跟浏览器或者什么系统更新有关
字节跳动的静态资源公共库挂了导致的, 由于黑产原因下线的, https://cdn.bytedance.com/
解决办法:
可以在这个步骤中改成这样
$$<!DOCTYPE html><html lang="zh-cmn-Hans"><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><head> <meta charset="UTF-8"> <title>文本比对</title> <script> function loadScriptWithFallback(primary, fallback) { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = primary; script.onload = () => resolve(); script.onerror = () => { console.warn(`JS 加载失败,切换到备用源: ${fallback}`); const fallbackScript = document.createElement('script'); fallbackScript.src = fallback; fallbackScript.onload = () => resolve(); fallbackScript.onerror = () => reject(new Error(`两个地址都加载失败: ${primary}, ${fallback}`)); document.head.appendChild(fallbackScript); }; document.head.appendChild(script); }); } function loadCSSWithFallback(primary, fallback) { return new Promise((resolve) => { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = primary; link.onload = () => resolve(); link.onerror = () => { console.warn(`CSS 加载失败,切换到备用源: ${fallback}`); link.href = fallback; resolve(); }; document.head.appendChild(link); }); } async function loadAll() { await loadCSSWithFallback( "https://cdn.bootcdn.net/ajax/libs/codemirror/5.36.0/codemirror.min.css", "https://fastly.jsdelivr.net/npm/codemirror@5.36.0/lib/codemirror.min.css" ); await loadCSSWithFallback( "https://cdn.bootcdn.net/ajax/libs/codemirror/5.36.0/addon/merge/merge.min.css", "https://fastly.jsdelivr.net/npm/codemirror@5.36.0/addon/merge/merge.min.css" ); await loadScriptWithFallback( "https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js", "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" ); await loadScriptWithFallback( "https://cdn.jsdelivr.net/gh/google/diff-match-patch@master/javascript/diff_match_patch.js" ); await loadScriptWithFallback( "https://cdn.bootcdn.net/ajax/libs/codemirror/5.36.0/codemirror.min.js", "https://fastly.jsdelivr.net/npm/codemirror@5.36.0/lib/codemirror.min.js" ); await loadScriptWithFallback( "https://cdn.bootcdn.net/ajax/libs/codemirror/5.36.0/addon/merge/merge.min.js", "https://fastly.jsdelivr.net/npm/codemirror@5.36.0/addon/merge/merge.min.js" ); initMergeView(); } function initMergeView() { var leftValue = "{对比1.Replace("\\", "\\\\").Replace("\"","\\\"").Replace("\r\n", "\\n").Replace("\n", "\\n")}"; var rightValue = "{对比2.Replace("\\", "\\\\").Replace("\"","\\\"").Replace("\r\n", "\\n").Replace("\n", "\\n")}"; var t = document.getElementById("code_view"); CodeMirror.MergeView(t, { value: leftValue, lineWrapping: true, origLeft: null, orig: rightValue, lineNumbers: true, mode: "text/plain", highlightDifferences: true, connect: null, collapseIdentical: false, allowEditingOriginals: true }) } loadAll().catch(err => console.error(err)); </script></head><body> <style> .CodeMirror-merge, .CodeMirror-merge .CodeMirror { height: 97vh; } </style> <div id="code_view"></div></body></html>
替换后文字错位修复了,就是文本对比功能不行了,大佬这是为啥
那可能要把其他的也替换了, 你试试我的完整代码
上次那个完整代码, 对比视图好像只会显示一半, 我又修复了一下