JavaScriptをHTML文書に埋め込む場合、<script>
タグとインクルードされたJavaScriptはどこに置くのが適切でしょうか?確か、<head>
セクションに入れてはいけないと記憶していますが、<body>
セクションの最初に入れるのも、ページが完全にレンダリングされる前にJavaScriptが解析されなければならないので、良くないと思います(とか言ってました)。このように考えると、<body>
セクションの_end_が、<script>
タグの論理的な配置場所になるようです。
では、どこに<script>
タグを置くのが正しいのでしょうか?
(この質問は、JavaScriptの関数呼び出しを<a>
タグから<script>
タグに移すべきだと提案されたこの質問を参照しています。具体的にはjQueryを使用していますが、より一般的な回答も適切です)。
で述べたように、bodyタグを閉じる直前。
http://developer.yahoo.com/performance/rules.html#js_bottom
スクリプトを一番下に置く
スクリプトが引き起こす問題は、並列ダウンロードをブロックすることです。HTTP/1.1の仕様では、ブラウザはホスト名ごとに2つ以上のコンポーネントを並行してダウンロードしないように提案しています。複数のホストネームから画像を提供している場合は、2つ以上のダウンロードを並行して行うことができます。しかし、スクリプトのダウンロード中は、ブラウザは他のダウンロードを、たとえ異なるホスト名であっても開始しません。
JQueryを使用している場合は、javascriptを最適な場所に配置し、$(document).ready()
を使用して、関数を実行する前に正しくロードされていることを確認します。
余談ですが、私はすべてのscriptタグを
`セクションに置くのが一番すっきりするように思います。