我对CodeMirror和JavaScript都比较新,所以我试着用它们来更好地了解它们。
我以前有代码,当我编辑/执行时,它工作并显示正确的输出。我执行时底部没有做任何事情,而当我在Chrome中检查时,它会显示标题中提到的错误。
尝试在这里更好地解释一下代码:
此作品
的index.html
<textarea id="editor" name="editor" style="display: none;">
Some code
</textarea>
...
var editor = CodeMirror.fromTextArea(document.getElementById('editor'), {
lineNumbers: true,
mode: 'text/html',
autoCloseTags: true
});
executeCode();
executeCode()函数
function executeCode(){
var text = editor.getValue();
var ifr = document.createElement("iframe");
ifr.setAttribute("frameborder", "0");
ifr.setAttribute("id", "iframeOutput");
document.getElementById("iframewrapper").innerHTML = "";
document.getElementById("iframewrapper").appendChild(ifr);
var ifrw = (ifr.contentWindow) ? ifr.contentWindow : (ifr.contentDocument.document) ? ifr.contentDocument.document : ifr.contentDocument;
ifrw.document.open();
ifrw.document.write(text);
ifrw.document.close();
};
这不是
index.html(没有输入textarea的代码 - executeCode()是相同的)
$(function(){
$.get('example.html', function(data){
$('textarea#editor').val(data);
// now init codemirror
var a = CodeMirror.fromTextArea(document.getElementById('editor'), {
mode: 'text/html',
tabMode: 'indent',
lineNumbers: true,
lineWrapping: true,
autoCloseTags: true
});
executeCode();
})
})
就像我说的那样,我是JS和CodeMirror的新手,所以很有可能它很简单,但是如果你能指出我在哪里,我会很感激。错了。
提前致谢!
答案 0 :(得分:0)
因此,您面临的最可能的问题是,您在尝试使用CodeMirror 2方法检索编辑器内容时正在加载CodeMirror 1库。
CodeMirror 1使用getCode()method来检索编辑器的内容
var code = editor.getCode(); //a string with your editor content.
CodeMirror 2改用getValue()method,
var code = editor.getValue(); //a string with your editor content.