web-dev-qa-db-ja.com

document.head.appendChild(element)ieie7およびie8

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

しかし、それでも同じエラーが発生します。誰か助けてもらえますか?

18
Dan

https://developer.mozilla.org/en-US/docs/Web/API/document.head および http://msdn.Microsoft.com/en-us)によると/library/gg593004%28v=vs.85%29.aspxdocument.headはIE <9では使用できません。使用するだけ

document.getElementsByTagName('head')[0].appendChild(requireTag);
37
Musa

私は信じている document.headこれらのブラウザではサポートされていません。

代わりにこれを試してください:

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