[解決済み] 控えめなJavaScript。<script> は HTML コードの上か下か?
2023-03-27 22:26:21
質問
最近、ヤフーのマニフェストを読みました。 Web サイトを高速化するためのベスト プラクティス . 彼らは、可能な限り、JavaScript を HTML コードの一番下に含めることを推奨しています。
でも、具体的にいつ、どこに?
を閉じる前に置くべきでしょうか?
</html>
の前に置くべきか、それとも後に置くべきか?そしてなによりも、どのような場合にやはり
<head>
セクションに置くべきでしょうか?
どのように解決する?
本当に邪魔にならないスクリプトには、2つの可能性があります。
- head セクションに script タグを使用して外部スクリプトファイルを含める。
-
script タグを使用して外部スクリプトファイルを本文の下部 (
の前) に含める。 </body></html>
)
Yahoo のオリジナルの調査では、script タグを打ったときにスクリプト ファイルを読み込もうとするブラウザがあり、そのためそれが完了するまでページの残りの部分を読み込まないことがわかったため、2 番目の方が速くなることがあります。しかし、スクリプトに「ready」部分があり、DOMの準備ができ次第実行しなければならない場合は、headに記述する必要があるかもしれません。もう 1 つの問題はレイアウトです。スクリプトがページのレイアウトを変更する場合は、できるだけ早くロードして、ページがユーザーの目の前で長い時間をかけて再描画されないようにしたいものです。
外部スクリプトサイトが別のドメインにある場合 (外部ウィジェットのように)、ページの読み込みを遅らせるのを避けるために、それを一番下に置く価値があるかもしれません。
また、パフォーマンスの問題については 独自のベンチマークを行う - を行う必要があります。ある研究が行われたときに正しかったとしても、ローカル セットアップやブラウザの変更によって変わるかもしれません。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptでページの一番上までスクロールする?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] CSSは常にJavascriptより優先されるべきか?
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?