18

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

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

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

问题是$('<script>').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。

4

1 回答 1

16

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

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

var scriptTag = document.createElement('script');
scriptTag.text= JSData;
document.body.appendChild(scriptTag);
于 2012-08-30T16:46:52.603 回答