11

1 つの画面に 2 つの異なるコード エディターを備えた「コーディング競争」スタイルのインターフェイスを備えた Web アプリを実装しようとしています。1 つは読み取り専用で、もう 1 つはアクティブで、ユーザーが編集できるようになります。

私は現在 Ace Editor を使用していますが、素晴らしく使いやすいと思います。

しかし、ここで私の質問です。1 つのページに 2 つの異なるエディターを実装しようとすると、エラーが発生するようです。

キャッチされない RangeError: 最大呼び出しスタック サイズを超えました

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>

返信ありがとうございます!

4

4 に答える 4

9

Ace は、任意の数のエディターをサポートできます。問題は最近のリグレッションで、このデモを見るresizeと編集者が壊れますheight=0

于 2013-03-27T21:44:03.137 に答える