title | short-title | slug | l10n | ||
---|---|---|---|---|---|
Document: readyState プロパティ |
readyState |
Web/API/Document/readyState |
|
{{APIRef("DOM")}}
Document.readyState
プロパティは {{domxref("document")}} の読み込み状態を記述します。
このプロパティの値が変化すると、 {{domxref("Document/readystatechange_event", "readystatechange")}} イベントが {{domxref("document")}} オブジェクトに発行されます。
文書の readyState
は次のうちのいずれかになります。
loading
- : この文書 ({{domxref("document")}}) はまだ読み込み中です。
interactive
- : 文書の読み込みが完了し、文書の解釈はできたが、スクリプト、画像、スタイルシート、フレームなどのサブリソースはまだ読み込み中である。この状態は、 {{domxref("Document/DOMContentLoaded_event", "DOMContentLoaded")}} イベントが発行されようとしていることを示します。
complete
- : 文書とすべてのサブリソースの読み込みが完了しました。この状態は {{domxref("Window/load_event", "load")}} イベントが発行されようとしていることを示しています。
switch (document.readyState) {
case "loading":
// この文書はまだ読み込み中。
break;
case "interactive": {
// この文書は読み込みが終了した。 DOM 要素にアクセスできるようになった。
// しかし、画像、スタイルシート、フレームなどの副リソースはまだ読み込み中。
const span = document.createElement("span");
span.textContent = "A <span> element.";
document.body.appendChild(span);
break;
}
case "complete":
// ページが完全に読み込み完了。
console.log(
`最初の CSS ルール: ${document.styleSheets[0].cssRules[0].cssText}`,
);
break;
}
// DOMContentLoaded イベントの代替
document.onreadystatechange = () => {
if (document.readyState === "interactive") {
initApplication();
}
};
// Alternative to load event
document.onreadystatechange = () => {
if (document.readyState === "complete") {
initApplication();
}
};
document.addEventListener("readystatechange", (event) => {
if (event.target.readyState === "interactive") {
initLoader();
} else if (event.target.readyState === "complete") {
initApp();
}
});
{{Specifications}}
{{Compat}}
- 関連イベント:
- {{domxref("Document/readystatechange_event", "readystatechange")}} イベント
- {{domxref("Document/DOMContentLoaded_event", "DOMContentLoaded")}} イベント
- {{domxref("Window/load_event", "load")}} イベント