我想要实现一个Web应用程序,它具有“编码竞赛”风格的界面,并在单个屏幕上使用两个不同的代码编辑器,其中一个是只读的,另一个是活动的,允许用户进行编辑。
我目前正在使用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>
提前感谢回复!