WindowClient.visibilityState

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

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

BCD tables only load in the browser