scriptタグは空要素っぽく閉じると,FirefoxやIEで読んでもらえない

うっかり省略しちゃったら

<!-- NG -->
<script type="text/javascript" src="/dogfood.js" charset="UTF-8" />

<!-- OK -->
<script type="text/javascript" src="/dogfood.js" charset="UTF-8"></script>

SafariやChromeでは正常に読み込まれますが,Firefox3.6とIE8では読み込まれませんでした.

Re: [WSG] Firefox 3 and script tag 'problems'によれば,HTML4.01のドキュメントでは,開始タグと終了タグは共に必須とされ,XHTML 1.0のドキュメントでは,コンテントモデルが空でない要素を閉じるのに使ってはならない,とあります.(たとえ中身が空であっても)

4.3 Scripting — HTML5を見ると,src属性の指定があれば空要素でもいいよ的な記述はありますが,この記法自体がそもそもXML構文のはずですし,HTML5でもscript要素をXHTML的な空要素の閉じ記法で扱わないほうがよさそう.(HTML5で<br />みたいなのはあくまで後方互換の必要悪,って認識)

とりま,script要素は素直に書くのが一番ってことで.

参考サイト


Author

ahomuAyumu Sato

CyberAgent, Inc.Web開発者 + 技術人事

渋谷資本で生きる名古屋の鳥類

Web 技術、組織開発、料理、旅行、ランニングなど雑多なブログ

Bio: aho.mu
Twitter: @ahomu
Github: ahomu

Related

Latest

Archives

Tags

Search