This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The ready
read-only property of the ServiceWorkerContainer
interface provides a way of delaying code execution until a service worker is active. It returns a Promise
that will never reject, and which waits indefinitely until the ServiceWorkerRegistration
associated with the current page has an active
worker. Once that condition is met, it resolves with the ServiceWorkerRegistration
.
navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) { ... });
A Promise
that will never reject, and which may eventually resolve with a ServiceWorkerRegistration
.
if ('serviceWorker' in navigator) { navigator.serviceWorker.ready .then(function(registration) { console.log('A service worker is active:', registration.active); // At this point, you can call methods that require an active // service worker, like registration.pushManager.subscribe() }); } else { console.log('Service workers are not supported.'); }
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'ServiceWorkerRegistration.ready' in that specification. | Editor's Draft | Initial definition. |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 38 | (Yes)[2] | 44.0 (44.0)[1] | No support | 27 | No support |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 38 | 38 | 44.0 (44.0) | (Yes) | No support | 27 | No support |
[1] Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
[2] Service workers is available in Microsoft Edge starting EdgeHTML 16 behind a flag.
© 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/ServiceWorkerContainer/ready