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: Diese Funktion ist in Web Workers verfügbar.

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

js
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:

js
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

Siehe auch