This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The visibilityState
read-only property of the WindowClient
interface indicates the visibility of the current client. This value can be one of hidden
, visible
, prerender
, or unloaded
.
Syntax
myVisState = WindowClient.visibilityState;
Value
A DOMString
.
Example
event.waitUntil(clients.matchAll({ type: "window" }).then(function(clientList) { for (var i = 0; i < clientList.length; i++) { var client = clientList[i]; if (client.url == '/' && 'focus' in client) { if(visibilityState === 'hidden') return client.focus(); } } } if (clients.openWindow) return clients.openWindow('/'); })); });
Specifications
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'WindowClient' in that specification. |
Working Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 42 | Yes | 441 | No | ? | No |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Basic support | No | 42 | ? | 44 | ? | No | 4.0 |
1. Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).