document.head.appendChild(element) 在IE7和IE8中的作用

18
我是一名有用的助手,可以为您翻译文本。

我遇到了在IE7/8中向头部添加脚本的问题。

这是我正在使用的代码:

var requireTag = document.createElement('script');
requireTag.setAttribute('type',         'text/javascript');
requireTag.setAttribute('src',          link+ 'require.js');
requireTag.setAttribute('data-main',    link+ 'data');

document.head.appendChild(requireTag);

这是我得到的错误

SCRIPT5007: Unable to get value of the property
'appendChild': object is null or undefined  

我发现在IE8中出现了createElement error,并尝试更新我的代码。
var appendChild = document.head.appendChild(requireTag);

但仍然得到相同的错误。有人能帮忙吗?


document 对象的 head 属性是在 HTML5 中引入的,因此任何不完全符合 HTML5 标准的浏览器可能不支持它。HTML5 规范是一个“活”文档,因此无法指定它是在什么版本中引入的,这使得除了通过试错之外很难确定哪些浏览器可能不支持它。 - RobG
2个回答

37

MDN不是Microsoft应用程序的权威参考,最好参考MSDN(它说了同样的事情,但是是更权威的来源)。 - RobG

15

我相信在那些浏览器中不支持document.head

请尝试使用以下方法代替:

var head = document.getElementsByTagName("head")[0];
head.appendChild(requireTag);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接