WindowClient: visibilityState property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

Note: This feature is only available in Service Workers.

The visibilityState read-only property of the WindowClient interface indicates the visibility of the current client. This value can be one of "hidden", "visible", or "prerender".

Value

A string (See Document.visibilityState for values).

Examples

js
event.waitUntil(   clients     .matchAll({       type: "window",     })     .then((clientList) => {       for (const client of clientList) {         if (client.url === "/" && "focus" in client) {           if (client.visibilityState === "hidden") return client.focus();         }       }       if (clients.openWindow) {         return clients.openWindow("/");       }     }), ); 

Specifications

Specification
Service Workers
# client-visibilitystate

Browser compatibility