JavaScript
JavaScript's readyState is a property that indicates the loading and parsing status of a document.
readyState [property]
readyStateプロパティは、HTMLドキュメントまたは外部リソースの読み込み状態を示します。このプロパティは主に、ドキュメントがウェブブラウザで完全に読み込まれ、解析された後に JavaScriptが動作するようにするために使われます。
readyStateプロパティには、主に以下の3つの値があります。
- loading
- ドキュメントがまだ読み込み中であることを示します。
- interactive
- ドキュメントは読み込まれていますが、すべてのリソースが完全に読み込まれたわけではありません。この状態では、ユーザーはページと対話できます。
- complete
- ドキュメントとすべてのサブリソースが読み込まれ、完全に解析されたことを示します。この時点で、ページ上のすべてのプロセスとイベントハンドラが利用可能です。
Sample
以下のサンプルコードは、ドキュメントの readyStateをチェックし、ページの読み込み状態に応じたアクションを実行する方法を示しています。
Checking document state...
HTML
<div class="container">
<div class="status">Checking document state...</div>
</div>
CSS
.container {
display: flex;
justify-content: center;
align-items: center;
height: 5em;
font-family: Arial, sans-serif;
}
.status {
text-align: center;
}
JavaScript
function updateStatus(message) {
document.querySelector('.status').textContent = message;
}
document.addEventListener('readystatechange', () => {
switch (document.readyState) {
case 'loading':
updateStatus('Document is loading...');
break;
case 'interactive':
updateStatus('Document is interactive, but not fully loaded.');
break;
case 'complete':
updateStatus('Document is fully loaded.');
break;
default:
updateStatus('Unknown document ready state.');
break;
}
});
このコードでは、<div class="status"> 要素内のテキストを、現在の readyStateに基づいて更新します。document.addEventListenerを使用して、readystatechangeイベントに対するリスナーを設定します。このイベントは、readyStateプロパティの値が変化するたびに発火されます。ドキュメントの状態に応じて、updateStatus関数を呼び出してユーザーに現在の読み込み状態を通知します。