2016-05-13 19 views
1

私は、スクリプトを実行するには、次のコードを使用します。document.getElementsByTagName( 'head')[0]はnullを返すことができますか?

var js = document.createElement('script'); 
js.src = 'http://xxx./yyy.js'; 
document.getElementsByTagName('head')[0].appendChild(js); 

は、ブラウザのすべての種類でこのコードの動作は、ウィル?たとえば、何らかの理由でheadタグが存在しないと、「nullオブジェクト」というエラーが表示されることがあります。

実際には、いくつかのブラウザでテストしましたが、エラーは発生していません。

だから、専門家に教えてください、これはすべてのブラウザで回避できますか?

+2

これは実際には問題ではありません/問題.... Stackoverflowはプログラミングの問題です。動的スクリプトタグを作成する上で、独自の開発や研究の制限をテストする必要があります。 – NewToJS

+0

私が見る唯一の問題は 'getelementsbytagname'のケース問題です。' getElementsByTagName' - Pascal Casing http://c2.com/cgi/wiki?PascalCase –

+0

'scrip'は' script'、 'getelementsbytagname'はshould 'getElementsByTagName'であり、' .appendChild() 'は' .appendChild(js) 'でなければなりません。 – itzmukeshy7

答えて

0

それは<head>がドキュメントにありません場合は、例えば、nullを返すようにdocument.getElementsByTagName('head')[0](およびdocument.head)のためのpossibleです一方

document.head.parentNode.removeChild(document.head); 

、彼らはrequired to insert it for youだとしてHTMLソースコード内の<head>「HTML5」準拠のパーサでこれにする必要がありないリードを、省い:誰かがこれを行う後。 (以前のブラウザでは異なるとは思われませんが、すべてのブラウザのすべてのバージョンについて確かめることは不可能です)

the same browser support as jQuery 2が好きなら、安心してuse head without null-checking

関連する問題