在IE8中创建脚本标记

时间:2012-08-30 16:32:13

标签: javascript jquery internet-explorer-8

我正在测试我们的网站,在IE8中遇到了可怕的Unexpected call to method or property access.错误。

经过大量调试(IE8的devtools糟透了)后,我发现了违规行。

$('<script>').html(JSData).appendTo('head')

问题是$('<script>').html(JSData)。我试着在控制台中运行它,但我仍然遇到错误。

为什么IE8不能在新创建的脚本标记上设置.html

P.S。这也失败了:

$(document.createElement('script')).html(JSData)

UPDATE :我试图在没有jQuery的情况下创建脚本标记:

var scriptTag = document.createElement('script');
scriptTag.type = 'text/javascript';
scriptTag.innerHTML = JSData;

scriptTag.innerHTML = JSData;行,IE8提供Unknown runtime error。谢谢IE8。

1 个答案:

答案 0 :(得分:15)

您的仅限javascript方法需要将脚本元素添加到文档中。

IE&lt; 9不识别脚本标记上的innerHTML或childNodes,但所有浏览器都支持text属性。

var scriptTag = document.createElement('script');
scriptTag.text= JSData;
document.body.appendChild(scriptTag);