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 错误,并尝试将我的代码更新为

var appendChild = document.head.appendChild(requireTag);

但仍然得到同样的错误。任何人都可以帮忙吗?

4

2 回答 2

37

根据https://developer.mozilla.org/en-US/docs/Web/API/document.headhttp://msdn.microsoft.com/en-us/library/gg593004%28v=vs.85% 29.aspxdocument.head不适用于 IE<9。只需使用

document.getElementsByTagName('head')[0].appendChild(requireTag);
于 2013-06-14T02:36:23.800 回答
15

我相信document.head这些浏览器不支持。

试试这个:

var head = document.getElementsByTagName("head")[0];
head.appendChild(requireTag);
于 2013-06-14T02:35:26.060 回答