まず質問させてください。HTML ページを作成するときに、外部から JS ファイルをインポートする場合、スクリプト タグはどこに配置しますか? 配置が異なると、ページの読み込みに影響しますか?
<script src="./1.js" 非同期></script> <script src="./1.js" 遅延></script> 非同期と遅延非同期とは、スクリプト タグで defer または async 属性がオンになっている場合、スクリプトが非同期で読み込まれることを意味します。ブラウザのレンダリング エンジンがこのコマンド行に遭遇すると、外部スクリプトのダウンロードを開始します。ダウンロード中、レンダリング エンジンは後続のコマンドを直接実行します。
async 属性と defer の違いは次のとおりです。 青い線はネットワーク読み取り (スクリプトのダウンロード) を表し、赤い線は実行を表します (どちらもスクリプト用)。緑の線は HTML 解析を表します。 defer属性を使用すると、ブラウザは対応するスクリプトをすぐにダウンロードします。ダウンロード処理中もページの処理は停止しません。ドキュメントの解析が完了するまでスクリプトは実行されません。 async属性を使用すると、ブラウザは対応するスクリプトをすぐにダウンロードします。ダウンロード処理中はページ処理は停止しません。ダウンロードが完了するとすぐに実行されます。実行処理中はページ処理が停止します。 属性が設定されていない場合、スクリプトが検出されると、スクリプトがダウンロードされて実行された後、ページの処理が続行されます。 [注意] async は defer よりも強力です。同じタグで両方の属性を同時に使用する場合は、async に従ってください。 ! ! 複数のスクリプトasync と defer の違いは、外部スクリプト ファイルのダウンロードと実行だけでなく、複数のスクリプトが存在する場合の違いにも反映されます。 外部スクリプトファイル // ... 大量の js コード console.log('1'); 2.js ファイル: コンソールログ('2'); メインHTMLファイル defer を使用する: <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>js ブロッキング</title> <!-- defer は dom を最初に実行します --> <script src="./1.js" 遅延></script> <script src="./2.js" 遅延></script> </head> <本文> <h1>js ブロッキングはどのように機能しますか? </h1> <スクリプト> document.addEventListener('DOMContentLoaded', 関数() { console.log('DOMコンテンツが読み込まれました'); }) </スクリプト> </本文> </html> コンソール実行結果: 非同期の使用: <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>js ブロッキング</title> <!-- defer は dom を最初に実行します --> <script src="./1.js" 非同期></script> <script src="./2.js" 非同期></script> </head> <本文> <h1>js ブロッキングはどのように機能しますか? </h1> <スクリプト> document.addEventListener('DOMContentLoaded', 関数() { console.log('DOMコンテンツが読み込まれました'); }) </スクリプト> </本文> </html> コンソール実行結果: コンソールの実行結果から、次のことがわかります。 async :先に完了したダウンロードがすぐに実行されます。 ! !これら 2 つのスクリプトは、DOMContentLoaded イベントがトリガーされる前には実行されない可能性がありますが、window.onload イベントの前には確実に実行されます。さらに、最初にダウンロードされたスクリプトの実行中は、他のスクリプトのダウンロードは停止せず、ダウンロードが継続されることに注意してください。 [注意] DOMContentLoaded は、DOM の読み込みが完了した後、つまりドキュメントが完全に読み込まれて解析された後にトリガーされます。 まとめ
参照する[1] https://blog.csdn.net/mx18519142864/article/details/82021754 これで、JavaScript ファイルの読み込みとブロックの問題のパフォーマンス最適化のケースに関するこの記事は終了です。JavaScript ファイルの読み込みとブロックの問題に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...
ウェブサイトの構築では、HTML と CSS に関するさまざまな問題に常に遭遇します。ウェブサイト ...
序文昨日、小さなプロジェクトを書いていたときに、txt ドキュメントのデータを mysql データベ...
多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...
目次1. 遅いクエリSQLを見つけて最適化する方法a. スローログに基づいてスロークエリSQLを見つ...
Docker はホストマシン上のブリッジを仮想化します。コンテナを作成して起動すると、各コンテナには...
目次1. データベースを操作する1.1 データベースを作成する1.2 データベースをクエリする1.3...
目次序文1. 公式サイトからMySQLをダウンロードする2. 解凍ファイルを設定する3. 初期化4....
最近、インターネットで「Build your own React」という記事を見ました。著者は、シン...
dl:定義一覧定義リストdt:定義タイトルタイトルを定義するdd:定義説明定義の説明dt は情報のタ...
目次不規則なフォームの実装透明な部分をクリックする不規則なフォームの実装ここでは円形フォームを実装し...
序文プロジェクトの要件は、ユーザーの現在の位置が特定の地理的位置範囲内にあるかどうかを判断することで...
MySQL を使用する際、フィールドをソートしたりクエリしたりすることがよくあります。通常は、中国語...
目次1件のレビュー2 水平分割の5つの戦略2.1 ハッシュ2.2 範囲2.3. キー2.4. リスト...
携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...