Ich versuche, ein Online-Diff-Tool zu entwickeln. Derzeit zeigt es die Unterschiede zwischen den beiden Dateien. Ich brauche auch vorherige Diff und nächste Diff-Funktion. Laut Dokumentation gibt es dafür die Befehle "goNextDiff" und "goPrevDiff". Ich habe den relevanten Code eingefügt. panel1 und panel2 werden mit einem AJAX-Aufruf gefüllt. Ich bekomme den Inhalt und das Diff wird im Panel angezeigt. Ich will nur einen Diff zu einem Zeitpunkt, wenn er auf den nächsten Diff-Button klickt, sollte es zum nächsten Diff gehen. Ich habe zwei Tasten, die versuchen, diese Befehle auszuführen. Ich bin mir nicht sicher über die Syntax dafür. Problem bei der Verwendung von Codemirror. Korrekte Syntax zum Ausführen des Befehls, der in merge.js ist
</div>
<!-- JS code for the second panel -->
<div id="panel1" style="display:none">
</div>
<!-- the placehorder for the merge/kdiff interface -->
<div id="placeholder"></div>
</body>
<button id = "prevdiff" disabled onclick> Previous Difference </button>
<button id = "nextdiff" disabled> Next Difference </button>
<script type="text/javascript">
dv = CodeMirror.MergeView(document.getElementById("placeholder"), {
value: a1[0],
orig: a2[0],
lineNumbers: true,
mode: "javascript",
highlightDifferences: true
});
var prev = document.getElementById("prevdiff");
var next = document.getElementById("nextdiff");
prev.disabled = false;
next.disabled = false;
prev.onclick = function(){ console.log("prevdiff"); this.execCommand("goPrevDiff"); console.log("prevdiff1");};
next.onclick = function(){ console.log("nextdiff"); this.goNextDiff; console.log("nextdiff1");};
});
</script>