You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeMirror MergeView页面出现黑色曲线,差异未高亮求助

解决CodeMirror MergeView样式错乱与差异不高亮问题

嘿,我看了你的代码和遇到的问题,这其实是个很常见的小疏漏——你漏掉了MergeView专用的样式文件,这就是导致页面出现黑色曲线、差异无法高亮的核心原因。

具体修复步骤:

1. 补上merge.css样式文件

MergeView需要专门的样式来渲染对比区域和差异高亮,你现在只引入了基础的CodeMirror样式和dialog样式,得把merge.css加上。在你的CSS引用部分添加这一行:

<link href="{% static 'home/scripts/codemirror/addons/merge.css' %}" rel="stylesheet">

注意要保证这个路径和你项目里merge.css的实际位置一致,它通常和merge.js放在同一个addons目录下。

2. 修正配置里的语法小问题

你的MergeView配置对象最后一个属性revertButtons : false,后面多了个逗号,虽然有些浏览器能兼容,但严格模式下会触发语法错误,建议去掉这个逗号:

var diff = CodeMirror.MergeView(target, {
  value: original,
  origLeft: null,
  orig: historic,
  lineNumbers: true,
  mode: "text/html",
  highlightDifferences: true,
  showDifferences: true,
  lineWrapping : true,
  revertButtons : false  // 移除这里的多余逗号
});

3. 确认依赖完整性

再核对一下MergeView必需的所有依赖,确保你都加载了:

  • 基础的codemirror.js和codemirror.css
  • diff_match_patch.js(负责计算文本差异)
  • merge.js(MergeView的核心逻辑)
  • merge.css(刚才补上的样式文件)

完成这些修改后,页面的黑色曲线会消失,两个文本的差异也会正常高亮显示,MergeView就能正常工作了。

内容的提问来源于stack exchange,提问作者AlexW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:25:36