ServiceWorkerRegistration: update() method
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.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The update()
method of the
ServiceWorkerRegistration
interface attempts to update the service
worker. It fetches the worker's script URL, and if the new worker is not byte-by-byte
identical to the current worker, it installs the new worker. The fetch of the worker
bypasses any browser caches if the previous fetch occurred over 24 hours ago.
Syntax
update()
Parameters
None.
Return value
A Promise
that resolves with a ServiceWorkerRegistration
object.
Examples
The following simple example registers a service worker example then adds an event handler to a button so you can explicitly update the service worker whenever desired:
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.register("/sw.js", { scope: "/" })
.then((registration) => {
// registration worked
console.log("Registration succeeded.");
button.onclick = () => {
registration.update();
};
})
.catch((error) => {
// registration failed
console.error(`Registration failed with ${error}`);
});
}
Specifications
Specification |
---|
Service Workers # service-worker-registration-update |
Browser compatibility
BCD tables only load in the browser