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.
Syntax
var myClientType = Client.type;
Value
A string, representing the client type. The value can be one of
window
worker
sharedworker
all
Example
// 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);
});
Specifications
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'type' in that specification. |
Editor's Draft | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 60 | 54.0 (54.0) | No support | 47 | No support |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 60 | 60 | 54.0 (54.0) | No support | 47 | No support |