[解決済み] フレームワークなしでDOMが準備できたかどうかを確認するには?
2023-05-18 06:28:14
質問
この質問は、他の多くの質問と同じように、Javascript で DOM がロードされたかどうかをチェックする方法です。しかし、ここが問題です。
- jQuery などのフレームワークを使用しないでください。
-
スクリプトが静的に配置された
<script>
タグで読み込まれたのか、それとも DOM が既に読み込まれた後に他の Javascript で読み込まれたのか、知る由もありません。
これは、多かれ少なかれ確実に、クロスブラウザの互換性で行うことができるでしょうか?
追加しました。
私は、任意のウェブページに含めることができるスタンドアロン.JSファイルを書いています。私はコードを実行したいです
後
を実行したいのですが、DOM がロードされた後、
HOW
で、私のスクリプトが含まれることになります。それは
<script>
タグを置くことです (この場合、従来の
onload
や DOM-readiness ソリューションが機能する)、あるいは AJAX やその他の手段で読み込まれ、DOM がすでに読み込まれたずっと後に読み込まれる(したがって前述のソリューションは決して機能しない)可能性があります。
どのように解決するのですか?
この
document.readyState
プロパティは、文書の準備ができたかどうかを確認するために使用することができます。MDNより。
値
ドキュメントのreadyStateは、以下のいずれかになります。
- 読み込み - ドキュメントはまだロード中です。
- 対話型 - ドキュメントの読み込みが終了し、ドキュメントは解析されましたが、画像、スタイルシート、フレームなどのサブリソースはまだ読み込み中です。
- 完了 - ドキュメントとすべてのサブリソースの読み込みが終了しました。この状態は ロード イベントが発生しようとしていることを示します。
コード例です。
if(document.readyState === "complete") {
// Fully loaded!
}
else if(document.readyState === "interactive") {
// DOM ready! Images, frames, and other subresources are still downloading.
}
else {
// Loading still in progress.
// To wait for it to complete, add "DOMContentLoaded" or "load" listeners.
window.addEventListener("DOMContentLoaded", () => {
// DOM ready! Images, frames, and other subresources are still downloading.
});
window.addEventListener("load", () => {
// Fully loaded!
});
}
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] ページロード後にJavaScriptを実行させるには?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryの$.ready()に相当する純粋なJavaScript - ページ/DOMの準備ができたときに関数を呼び出す方法 [重複]。
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] これは純関数ですか?