我正在做一个网络编辑器,带有一个接收用户代码的文本区域和一个实时显示 html 的 iframe。我有一个监听 keyup 用户的事件,这是我用来在 iframe 上执行 javascript 的代码
var iframe = $("#iframeresults").contents()
$("#wrapper").on("paste keyup", function(){
setTimeout(function(){
iframe.find("body").html(webEditor.getHtml());
iframe.find("style").html(webEditor.getCss());
iframe.find("script").remove()
var script = document.createElement("script")
script.text = webEditor.getJS()
iframe.find("head")[0].appendChild(script)
},800)
});
这很好用,但是每次用户按键时我都必须删除并创建脚本标签,我的问题是,有没有另一种方法可以在不接触 dom 的情况下做到这一点?
我试过这个链接
但是如果我使用 eval 并且代码包含 sintax 错误,这将停止