在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);