在IE8中创建脚本标记

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

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

 $('').html(JSData).appendTo('head') 

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

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

PS这也失败了:

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

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

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

scriptTag.innerHTML = JSData; 行,IE8给出了Unknown runtime error 。 谢谢IE8。

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

IE <9无法识别脚本标记上的innerHTML或childNodes,但所有浏览器都支持text属性。

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