JavaScript DOMContentLoaded イベントのケーススタディ

JavaScript DOMContentLoaded イベントのケーススタディ

DOMContentLoaded イベント

文字通り、DOM がロードされた後に実行されます。

window.onload イベントと非常に似ていますが、いくつか違いがあります。

  1. ドキュメントが完全に読み込まれ解析された後に、DOMContentLoaded イベントがトリガーされます。
  2. window.onload イベントは、ドキュメントの読み込みと解析を完了するだけでなく、画像や CSS ファイルなどの関連リソースの読み込みも完了します。

次の疑問は、DOM がいつロードされるかということです。これはブラウザのレンダリングから始まります。ブラウザが Web ページを表示するプロセスは、次のように説明できます。

1. HTML ドキュメントを要求し、次にそのドキュメントに基づいてさらに img、css、およびその他のリソース ファイルを要求します。

2. ドキュメントを解析して、DOM ツリーと CSS ツリーの 2 つを取得します。

3. 上記の 2 つのツリーに基づいてレンダリング ツリーを生成します。

4. レンダリング ツリーに従ってレイアウトを実行し、関連する要素を描画します。

Webkit を例にとると、レンダリング プロセスは次のようになります。

DOMContentLoaded イベントは次の場合にトリガーされます:

DOM の後、RENDERtree の前。

JavaScript の読み込みと実行により、DOMContentLoaded イベントのトリガーが遅延されます。

ブラウザは JavaScript に DOM 要素情報が必要かどうかを判断できないため、JavaScript は CSS レンダリングが完了するまで待ってから読み込んで実行する必要があります。

JavaScript に最新の情報が確実に含まれるように、最初に CSS が読み込まれてレンダリングされます。

参考資料:

http://www.softwhy.com/article-9783-1.html

https://www.cnblogs.com/CandyManPing/p/6635008.html

https://www.cnblogs.com/caizhenbo/p/6679478.html

JavaScript DOMContentLoaded イベントの詳細なケースに関するこの記事はこれで終わりです。JavaScript DOMContentLoaded イベントの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript 学習概要 (I) ECMAScript、BOM、DOM (コア、ブラウザ オブジェクト モデル、ドキュメント オブジェクト モデル)
  • JavaScript における BOM と DOM の詳細な説明
  • Java による XML ファイルの解析と JSON の変換方法 (DOM4j 解析)
  • JavaScriptがDOMツリーの構築にどのように影響するかについて詳しく説明します。
  • JavaScript の contains には関数実装コード (拡張文字、配列、DOM) が含まれていますか?
  • JavaScript のドキュメント オブジェクト モデル (DOM)

<<:  Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

>>:  Linux スワップメモリ​​を拡張する方法

推薦する

マルチコア CPU を使用して Linux コマンドを高速化する方法 (GNU Parallel)

非常に大量のデータ(数百 GB)を計算する必要があったことはありますか?または、その内部を検索したり...

MySQL 8.0.17 winx64 (Navicat 付き) 手動構成バージョンのインストール チュートリアル図

1. ダウンロードアドレス: mysql-8.0.17-winx64ダウンロードして解凍する2. フ...

Linuxシステムはルートアカウントのリモートログインコマンドを禁止しています

ps: Linux システムで root アカウントのリモート ログインを無効にする方法は次のとおり...

Tomcat サーバーの応答が遅い場合の解決策

1. 分析的思考1. 機械自身の理由を排除する2. サーバーパフォーマンス分析3. プロジェクト自体...

Dockerにおけるコンテナとイメージの違いについてお話ししましょう

鏡とは何ですか?イメージは、複数のイメージ レイヤー (UnionFS および AUFS ファイル ...

mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

目次リレーショナルデータベースとは何ですか?非リレーショナルデータベースとは何ですか? MySQL ...

非常に便利なオープンソース Docker ツール 5 つを強くお勧めします

導入Docker コミュニティは、さまざまなユースケースを処理するのに役立つ多くのオープンソース ツ...

LinuxでJenkinsのパスワードを忘れる方法

1.Jenkinsのインストール手順: https://www.jb51.net/article/1...

CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

Pantherは新人としてスタートし、今もまだ新人ですが、人々から学び、学んだことを時々皆さんと共有...

マークアップ言語 - Web アプリケーション CSS スタイル

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Webpackを使用して複数ページのプログラムを構築するための実装手順

webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...

HTML ウェブページにおけるさまざまなフォント形式の詳細

このセクションでは、テキストの変更の詳細から始めます。これにより、読者はさまざまな HTML フォン...

202 無料の高品質 XHTML テンプレート (2)

前回の記事「202 個の無料高品質 XHTML テンプレート (1)」に続き、123WORDPRES...

スクロールバーを非表示にしてコンテンツをスクロールする CSS サンプルコード

序文ページの HTML 構造にネストされたボックスが多数含まれている場合、ページに複数の垂直スクロー...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...