在IE8中创建脚本标记

Create script tag in IE8

本文关键字:脚本 创建 IE8      更新时间:2023-09-26

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

经过大量调试(IE8的开发工具很糟糕),我发现了有问题的一行。

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

问题出在$('<script>').html(JSData)上。我试着在控制台中运行它,但还是出现了错误。

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

附言:这也失败了:

$(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。

您的纯javascript方法需要将script元素添加到文档中。

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

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