まず質問させてください。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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...
今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...
MySQL は、マルチテーブルクエリを実行するときにエラーを報告します。 [SQL] SELECT ...
この記事では、例を使用して、MySQL 共同インデックスの機能と使用方法を説明します。ご参考までに、...
目次SVG による画像キャプチャCSS部分エフェクト画像表示ソースコードアドレスこれまで見てきたもの...
フレームセットと本文は同じレベルにあるため、本文にフレームセットを配置することはできません。まずペー...
目次ルーティングマネージャー背景はじめる問題を解決する方法要約するルーティングマネージャー各ジャンプ...
この記事では、USBバーコードスキャナデータを取得するjsの具体的なプロセスを参考までに紹介します。...
目次1. beforeCreateとcreated関数2. beforeMountとmount関数3...
目次導入例要約する導入$属性すべての親コンポーネントのプロパティを継承します (props を通じて...
フォーラムで、ネットユーザーの jeanjean20 が、Marquee を標準に適合させる方法につ...
この記事の例では、両端キューを実装するためのJavaScriptの具体的なコードを参考までに共有して...
位置一致順序1. 「=」プレフィックス命令マッチング、マッチングが成功したら他のマッチングを停止2....
目次1. Vueの初期化vue エントリ ファイルフルバージョンとランタイムバージョンの違い1.1、...
この記事では、JavaScriptキャンバスで流星の特殊効果を表示するための具体的なコードを参考まで...