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
Loading…