CodeMirror - 合并视图弯曲的拱形出现在页面中间,差异不突出显示
CodeMirror - merge view curved arch appearing in middle of page, diff not highlighting
我正在尝试根据 https://codemirror.net/demo/merge.html
设置基本的代码镜像合并视图
我有我的 html 和下面的脚本
<link href="{% static 'home/scripts/codemirror/codemirror.css' %}" rel="stylesheet">
<link href="{% static 'home/scripts/codemirror/addons/dialog.css' %}" rel="stylesheet">
<div class="col-lg-12">
<div id="editor"></div>
</div>
<script src="{% static 'home/scripts/codemirror/codemirror.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/search.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/searchcursor.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/jump-to-line.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/dialog.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/diff_match_patch.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/merge.js' %}"></script>
<script type="text/javascript">
var original = 'test';
var historic = 'test test';
var target = document.getElementById("editor");
diff = CodeMirror.MergeView(
target, {
value: original,
origLeft: null,
orig: historic ,
lineNumbers: true,
mode: "text/html",
highlightDifferences: true,
showDifferences: true,
lineWrapping : true,
revertButtons : false,
}
);
</script>
当我加载我的页面时,我得到一条奇怪的黑色曲线,如下所示,我是否缺少任何依赖项。该页面目前看起来根本无法正常工作
编辑:
jsfiddle 示例
https://jsfiddle.net/xpvt214o/208320/
要消除奇怪的曲线 svg,请将其添加到您的合并视图选项中:
connect: 'align'
我还试图了解为什么页面将面板堆叠在一起而不是并排放置,以及为什么突出显示不起作用。为此,我从您链接到 jsfiddle 的 CodeMirror 文档页面复制了代码:https://jsfiddle.net/xpvt214o/218015/
我使用了您的导入语句,因为我无权访问 ../lib/codemirror.js 等。我还必须从 [=22= 手动调用 window.onload() ] 代码,因为在 js fiddle 页面上单击 运行 从技术上讲不会加载浏览器 window。
在他们的页面上运行的代码在 js 上的表现非常不同fiddle...我想我的主要建议是确保您导入正确的 js 文件,并获取所有需要的文件样式表。
您添加了merge.js,但您没有添加merge.css
您的 js 工作正常,只是没有设置样式。
您唯一需要做的就是添加这一行
<link href="https://it-app-files.s3.amazonaws.com/static/home/scripts/codemirror/addons/merge.css" rel="stylesheet">
如果您希望有按钮来恢复更改,您也可以设置 revertButtons : true
。
我正在尝试根据 https://codemirror.net/demo/merge.html
设置基本的代码镜像合并视图我有我的 html 和下面的脚本
<link href="{% static 'home/scripts/codemirror/codemirror.css' %}" rel="stylesheet">
<link href="{% static 'home/scripts/codemirror/addons/dialog.css' %}" rel="stylesheet">
<div class="col-lg-12">
<div id="editor"></div>
</div>
<script src="{% static 'home/scripts/codemirror/codemirror.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/search.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/searchcursor.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/jump-to-line.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/dialog.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/diff_match_patch.js' %}"></script>
<script src="{% static 'home/scripts/codemirror/addons/merge.js' %}"></script>
<script type="text/javascript">
var original = 'test';
var historic = 'test test';
var target = document.getElementById("editor");
diff = CodeMirror.MergeView(
target, {
value: original,
origLeft: null,
orig: historic ,
lineNumbers: true,
mode: "text/html",
highlightDifferences: true,
showDifferences: true,
lineWrapping : true,
revertButtons : false,
}
);
</script>
当我加载我的页面时,我得到一条奇怪的黑色曲线,如下所示,我是否缺少任何依赖项。该页面目前看起来根本无法正常工作
编辑: jsfiddle 示例 https://jsfiddle.net/xpvt214o/208320/
要消除奇怪的曲线 svg,请将其添加到您的合并视图选项中:
connect: 'align'
我还试图了解为什么页面将面板堆叠在一起而不是并排放置,以及为什么突出显示不起作用。为此,我从您链接到 jsfiddle 的 CodeMirror 文档页面复制了代码:https://jsfiddle.net/xpvt214o/218015/
我使用了您的导入语句,因为我无权访问 ../lib/codemirror.js 等。我还必须从 [=22= 手动调用 window.onload() ] 代码,因为在 js fiddle 页面上单击 运行 从技术上讲不会加载浏览器 window。
在他们的页面上运行的代码在 js 上的表现非常不同fiddle...我想我的主要建议是确保您导入正确的 js 文件,并获取所有需要的文件样式表。
您添加了merge.js,但您没有添加merge.css
您的 js 工作正常,只是没有设置样式。
您唯一需要做的就是添加这一行
<link href="https://it-app-files.s3.amazonaws.com/static/home/scripts/codemirror/addons/merge.css" rel="stylesheet">
如果您希望有按钮来恢复更改,您也可以设置 revertButtons : true
。