5

由于现在无法进入的原因太复杂,我有一个 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:Unknown runtime error”。

有没有办法将一些 javascript 粘贴到 IE 中的 DOM 中?

4

1 回答 1

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);
  }
于 2013-01-02T01:39:00.007 回答