This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The Clients
interface of the Service Workers API represents a container for a list of Client
objects.
Methods
Clients.get()
- Gets a service worker client matching a given
id
and returns it in aPromise
. Clients.matchAll()
- Gets a list of service worker clients and returns them in a
Promise
. Include theoptions
parameter to return all service worker clients whose origin is the same as the associated service worker's origin. Ifoptions
are not included, the method returns only the service worker clients controlled by the service worker. Clients.openWindow()
- Opens a service worker
Client
in a new browser window. Clients.claim()
- Allows an active Service Worker to set itself as the active worker for a client page when the worker and the page are in the same scope.
Examples
clients.matchAll(options).then(function(clients) { for (i = 0 ; i < clients.length ; i++) { if (clients[i] === 'index.html') { clients.openWindow(clients[i]); // or do something else involving the matching client } } });
Specifications
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'Clients' in that specification. |
Working Draft | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 40.0 | 44.0 (44.0)[1] | No support | ? | No support |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | ? | 44.0 (44.0) | (Yes) | No support | ? | No support | ? |
[1] Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR.)