DOM

Document.visibilityState プロパティ

 編集:2022.10.07 by T.A.

[Edge]。読取専用。→

Document の可視性、つまりこの要素(¶ルート要素)が現在表示されているかを文字列で返します。

文書がバックグラウンドにあるのか、非表示のタブにあるのか、プリ レンダリングのためにのみ読み込まれるのかを知ることは有用です。

構文
Document.visibilityState

文字列。

得られる値は次のとおりです:

visible ページの内容が一部でも表示されている。

mdn:ページのコンテンツは、少なくとも部分的に表示される場合があります。実際には、これはページが最小化されていないウィンドウのフォアグラウンド タブであることを意味します。

hidden ページの内容が全く表示されていない。

mdn:ページのコンテンツはユーザーには表示されていません。実際には、これは文書がバックグラウンド タブまたは最小化されたウィンドウの一部であるか、OS の画面ロックがアクティブであることを意味します。

prerender ページのコンテンツはプリ レンダリングされており、ユーザーには表示されません(document.hidden の目的で非表示と見なされます)。文書はこの状態で開始する場合がありますが、別の値から移行することはありません。注: これは標準から削除されました。詳細については、互換性の表を確認してください。

このプロパティの値が変更されると、visibilitychange イベントが Document に送信されます。

これの一般的な用途は、文書がプリ レンダリングされている場合に一部のアセットのダウンロードを防止したり、文書がバックグラウンドにあるか最小化されている場合に一部のアクティビティを停止したりすることです。

mdnより
document.addEventListener("visibilitychange", function() {
  console.log( document.visibilityState );
  // 振る舞いを変更します...
})
2秒後に visibilityState を表示

HTML:

<SPAN id=IdLog></SPAN>

JavaScript: これを実行して、2秒以内にウインドウの切り替えなどをしてみてください。

IdLog.innerHTML=""; //表示を初期化。
function Job(){ //時間経過後の処理:
  IdLog.innerHTML=document.visibilityState; //記録表示。
}
window.setTimeout(Job, 2000); //2秒後に処理をする。

テスト