由于太复杂而无法进入的原因,我有一个ajax调用,它返回一些动态创建的Javascript,我想将其注入到我的页面中。以下代码适用于Chrome,但不适用于IE:
var node = document.getElementsByTagName("head")[0] || document.body;
if (node)
{
var script = document.createElement("script");
script.type = "text/javascript";
//script.innerHTML = json.javascript;
var textnode = document.createTextNode(json.javascript);
script.appendChild(textnode);
node.appendChild(script);
}
在IE中,我得到“SCRIPT65535:对方法或属性访问的意外调用。”从注释掉的代码中可以看出,在我尝试使用textnode之前,我尝试使用script.innerHTML插入它。这也适用于Chrome,但在IE中我得到了“SCRIPT600:未知的运行时错误”。
有没有办法在IE中将一些javascript粘贴到DOM中?
答案 0 :(得分:6)
当然,我发布此内容后,会发现http://www.phpied.com/dynamic-script-and-style-elements-in-ie/
var node = document.getElementsByTagName("head")[0] || document.body;
if (node)
{
var script = document.createElement("script");
script.type = "text/javascript";
script.text = json.javascript;
node.appendChild(script);
}