スクリプトは HTML の本体に記述すべきでしょうか、それとも HTML の先頭に記述すべきでしょうか? [重複] 質問する

スクリプトは HTML の本体に記述すべきでしょうか、それとも HTML の先頭に記述すべきでしょうか? [重複] 質問する

私は両方の方法を見てきましたが、どちらの実装も機能しますが、構造が少し異なります。あなたの経験では、どちらがよりうまく機能しますか、またその理由は何ですか?

ベストアンサー1

実際には複数のオプションでこれに答えますが、そのうちのいくつかは実際に本文に表示されます。

  • jQuery ライブラリなどのライブラリ スクリプトを head セクションに配置します。
  • パフォーマンスやページの読み込みに問題が発生しない限り、通常のスクリプトをヘッドに配置します。
  • インクルードに関連付けられたスクリプトを、そのインクルード内および末尾に配置します。この 1 つの例は、asp.net ページの .ascx ユーザー コントロールです。このマークアップの末尾にスクリプトを配置します。
  • ページのレンダリングに影響するスクリプトを body の最後 (body の終了前) に配置します。
  • マークアップ内にスクリプトを配置しないでください。代わりに、<input onclick="myfunction()"/>スクリプト本体のイベント ハンドラー内に配置することをお勧めします。
  • 決められない場合は、ページをブロックする問題などの理由がない限り、先頭に置いておきます。

脚注: 「必要なときに必要なだけ」は、ページがブロックされる最後の項目に適用されます(知覚的な読み込み速度)。ユーザーの知覚現実は、読み込みが速いと認識されれば、実際に読み込みが速くなります (コード内ではまだ処理が行われている可能性がありますが)。

編集: 参考文献:

補足: スクリプト ブロックをマークアップ内に配置すると、スペースを占有して特定のブラウザーのレイアウトに影響する可能性があります (ie7 と opera 9.2 ではこの問題が発生することが知られています)。そのため、スクリプト ブロックを非表示の div に配置します ( .hide { display: none; visibility: hidden; }div で次のような CSS クラスを使用します)。

標準: 標準では、問題がある場合、スクリプト ブロックを事実上どこにでも配置できることに注意してください。http://www.w3.org/TR/1999/REC-html401-19991224/sgml/dtd.htmlそしてhttp://www.w3.org/TR/xhtml11/xhtml11_dtd.html

編集2: 可能な場合はいつでも (常に?) 実際の Javascript を外部ファイルに配置し、それらを参照する必要があることに注意してください。これにより、関連するシーケンスの有効性が変わることはありません。

おすすめ記事