This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The type
read-only property of the Client
interface indicates the type of client the service worker is controlling.
var myClientType = Client.type;
A string, representing the client type. The value can be one of
window
worker
sharedworker
all
// service worker client (e.g. a document) function sendMessage(message) { return new Promise(function(resolve, reject) { // note that this is the ServiceWorker.postMessage version navigator.serviceWorker.controller.postMessage(message); window.serviceWorker.onMessage = function(e) { resolve(e.data); }; }); } // controlling service worker self.addEventListener("message", function(e) { // e.source is a client object e.source.postMessage("Hello! Your message was: " + e.data); // Let's also post the type value back to the client e.source.postMessage(e.source.type); });
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'type' in that specification. | Working Draft | Initial definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 60 | ? | 54 | No | 47 | No |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 60 | 60 | ? | 54 | 47 | No | No |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Client/type