Web ページでの JavaScript スクリプトの読み込みと実行順序
JavaScript は、さまざまな方法で HTML ページに組み込むことができる多用途言語です。これらのスクリプトの読み込みと実行の順序を理解することは、最適なパフォーマンスと機能を確保するために重要です。
スクリプトの読み込み順序
スクリプトは通常、ページ上で見つかった順序で読み込まれます。外部スクリプトとインライン スクリプトは両方とも順次処理されます。外部スクリプトは、後続のインライン スクリプトの前にフェッチされ、実行されます。
スクリプトの実行順序
読み込み順序は通常は順次ですが、実行順序はスクリプトの属性とブラウザのサポートに基づいて変わる場合があります。
-
外部スクリプト (遅延または非同期なし): 外部defer または async 属性のないスクリプトは、ロードされた順序で実行されます。
-
インライン スクリプト: インライン スクリプトは、その前にある外部スクリプトの後に実行されます。
-
Defer: defer 属性を持つスクリプトは、HTML パーサーの終了後に検出された順序で実行されます。これにより、これらのスクリプトを実行する前に、すべての HTML コンテンツが確実に読み込まれます。
-
Async: async 属性を持つスクリプトは、ページ読み込みプロセス中にいつでも実行できます。これらは並行してロードされ、その実行順序は予測できません。
動的スクリプト挿入
スクリプトがページに動的に追加されるとき (DOM 経由など)、その実行順序はブラウザによって異なります:
-
Internet Explorer およびWebKit: 非同期実行。
-
Opera および Firefox (4.0 より前): 同期実行。
-
最新のブラウザ (Firefox 4.0 ): 指定しない限り、デフォルトで非同期実行になります。それ以外の場合は。
JavaScript モジュール スクリプトの読み込みと実行
JavaScript モジュールでは、新しいタイプのスクリプトが導入されています:
-
モジュール スクリプト: type="module" 属性を持つスクリプトには、自動的に defer 属性が与えられます。これらは並行してロードされますが、HTML パーサーの終了後に順番に実行されます。
-
Async を使用したモジュール スクリプト: モジュール スクリプトに async 属性を追加すると、できるだけ早く実行できるようになります。通常の非同期スクリプトと同様です。
結論
の読み込みと実行の順序JavaScript スクリプトは、ページのパフォーマンスと機能に大きな影響を与える可能性があります。さまざまなスクリプトの種類と属性に対するブラウザーの動作を理解することで、開発者はスクリプトの実行戦略を最適化し、望ましい結果を達成できます。
以上がJavaScript スクリプトの読み込みと実行順序は Web ページのパフォーマンスにどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。