The Document.hidden read-only property returns a Boolean value indicating if the page is considered hidden or not.

This property is described as "historical" in the Page Visibility Level 2 specification. Consider using the Document.visibilityState property instead.


var boolean = document.hidden


document.addEventListener("visibilitychange", function() {
  console.log( document.hidden );
  // Modify behavior...

Usage notes

Due to prerendering, it may happen that document.hidden is true, even if the page is actually visible to the user. In such scenario the page load starts with document.visibilityState = "prerender" and transitions to document.visibilityState = "visible" after some delay. This scenario can be reproduced by opening a new browser tab in Safari, pasting a URL in the URL bar, and navigating to that URL.


Page Visibility Level 2 (Page Visibility 2)
# dom-document-hidden

Browser compatibility

BCD tables only load in the browser