编程语言
首页 > 编程语言> > javascript – Ace Editor能否在一个页面中支持多个代码编辑器?

javascript – Ace Editor能否在一个页面中支持多个代码编辑器?

作者:互联网

我正在寻求在一个屏幕上实现一个具有“编码竞争”的网络应用程序,该界面具有2个不同的代码编辑器.一个将是只读的,另一个将是活动的,并允许用户编辑.

我目前正在使用Ace Editor,我发现它非常棒且易于使用.

但是,这是我的问题.尝试在单个页面中实现2个不同的编辑器时,我似乎遇到了错误.

Uncaught RangeError: Maximum call stack size exceeded

js脚本中的变量“editor”是限制词还是使用什么变量名无关紧要?

这是我的JS文件中的代码:

var editorFirst = ace.edit("editorFirst");
var editorSecond= ace.edit("editorSecond");
setupEditor();

function setupEditor() {
    editorFirst.setTheme("ace/theme/eclipse");
    editorFirst.getSession().setMode("ace/mode/javascript");
    editorFirst.setShowPrintMargin(false);
    editorFirst.setHighlightActiveLine(true);
    editorFirst.resize();
    editorFirst.setBehavioursEnabled(true);
    editorFirst.getSession().setUseWrapMode(true);
    document.getElementById('editorFirst').style.fontSize = '14px';

    editorSecond.setTheme("ace/theme/eclipse");
    editorSecond.getSession().setMode("ace/mode/javascript");
    editorSecond.setShowPrintMargin(false);
    editorSecond.setHighlightActiveLine(true);
    editorSecond.resize();
    editorSecond.setBehavioursEnabled(true);
    editorReducer.getSession().setUseWrapMode(true);
    document.getElementById('editorSecond').style.fontSize = '14px';
}

这是我的html文件的代码:

<script src="../assets/js/main.js"></script>
<script src="../assets/js/src/ace.js" type="text/javascript" charset="utf-8"></script>
<div id="editorFirst"></div>
<div id="editorSecond"></div>

在此先感谢您的回复!

解决方法:

Ace可以支持任意数量的editors.
问题是最近的regression,它打破了高度= 0的编辑器的调整大小,见this demo

标签:ace-editor,code-editor,javascript,jquery
来源: https://codeday.me/bug/20191006/1857967.html