【发布时间】:2015-06-28 21:11:09
【问题描述】:
我正在尝试创建一个像 jsfiddle 这样的实时编辑器,用户可以在其中将 html 放入 html box (textarea) 并将 css 放入 css box(textarea) 并预览更改实时在 iframe 中。
我正在使用codemirror 作为编辑器。
到目前为止,我只能在我的 iframe 中获得其中一个 textareas 的预览,我无法弄清楚如何获取两个 textareas (css/html) 的值并将它们显示在我的 iframe 中,就像 jsfiddle 一样。
这是我目前所拥有的:
这是我的 javascript 代码:
<script>
var delay;
// Initialize CodeMirror editor with a nice html5 canvas demo.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {
lineNumbers: true,
styleActiveLine: true,
matchBrackets: true,
mode: 'text/html'
});
editor.on("change", function() {
clearTimeout(delay);
//alert("hellooooo");
delay = setTimeout(updatePreview, 300);
});
function updatePreview() {
var previewFrame = document.getElementById('preview');
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document;
preview.open();
preview.write(editor.getValue());
preview.close();
}
setTimeout(updatePreview, 300);
</script>
<script>
var delay2;
// Initialize CodeMirror editor with a nice html5 canvas demo.
var editor2 = CodeMirror.fromTextArea(document.getElementById('codert'), {
lineNumbers: true,
styleActiveLine: true,
matchBrackets: true,
mode: 'text/html'
});
editor2.on("change", function() {
clearTimeout(delay2);
//alert("hellooooo");
delay2 = setTimeout(updatePreview2, 300);
});
function updatePreview2() {
var previewFrame2 = document.getElementById('preview');
var preview2 = previewFrame2.contentDocument || previewFrame2.contentWindow.document;
preview2.open();
preview2.write(editor2.getValue());
preview2.close();
}
setTimeout(updatePreview2, 300);
</script>
有人可以帮我解决这个问题吗?
提前致谢。
【问题讨论】:
标签: javascript html jquery codemirror