ServiceWorkerRegistration: Update()-Methode
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.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die update()
-Methode der ServiceWorkerRegistration
-Schnittstelle versucht, den Service Worker zu aktualisieren. Sie ruft die Skript-URL des Workers ab, und wenn der neue Worker nicht bytegenau mit dem aktuellen Worker identisch ist, wird der neue Worker installiert. Der Abruf des Workers umgeht alle Browser-Caches, wenn der vorherige Abruf vor mehr als 24 Stunden erfolgt ist.
Syntax
update()
Parameter
Keine.
Rückgabewert
Ein Promise
, der mit einem ServiceWorkerRegistration
-Objekt aufgelöst wird.
Beispiele
Das folgende einfache Beispiel registriert einen Service Worker und fügt dann einem Button einen Ereignishandler hinzu, sodass Sie den Service Worker bei Bedarf explizit aktualisieren können:
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}`);
});
}
Spezifikationen
Specification |
---|
Service Workers # service-worker-registration-update |
Browser-Kompatibilität
BCD tables only load in the browser