ServiceWorkerRegistration

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.

Das ServiceWorkerRegistration-Interface der Service Worker API repräsentiert die Registrierung eines Service Workers. Sie registrieren einen Service Worker, um eine oder mehrere Seiten zu kontrollieren, die denselben Ursprung teilen.

Die Lebensdauer einer Service Worker-Registrierung geht über die der ServiceWorkerRegistration-Objekte hinaus, die sie innerhalb der Lebensdauer ihrer entsprechenden Service Worker-Clients repräsentieren. Der Browser führt eine persistente Liste aktiver ServiceWorkerRegistration-Objekte.

EventTarget ServiceWorkerRegistration

Instanzeigenschaften

Erbt auch Eigenschaften von der übergeordneten Schnittstelle, EventTarget.

ServiceWorkerRegistration.active Nur lesbar

Gibt einen Service Worker zurück, dessen Zustand activating oder activated ist. Dies wird zunächst auf null gesetzt. Ein aktiver Worker wird einen Client kontrollieren, wenn die URL des Clients innerhalb des Bereichs der Registrierung liegt (die scope-Option wird gesetzt, wenn ServiceWorkerContainer.register zuerst aufgerufen wird).

ServiceWorkerRegistration.backgroundFetch Nur lesbar Experimentell

Gibt eine Referenz auf ein BackgroundFetchManager-Objekt zurück, welches Hintergrundabrufoperationen verwaltet.

ServiceWorkerRegistration.cookies Nur lesbar Experimentell

Gibt eine Referenz auf die CookieStoreManager-Schnittstelle zurück, die das Abonnieren und Abbestellen von Cookie-Änderungsereignissen ermöglicht.

ServiceWorkerRegistration.index Nur lesbar Experimentell

Gibt eine Referenz auf die ContentIndex-Schnittstelle zurück, zur Verwaltung indizierter Inhalte für die Offline-Ansicht.

ServiceWorkerRegistration.installing Nur lesbar

Gibt einen Service Worker zurück, dessen Zustand installing ist. Dies wird zunächst auf null gesetzt.

ServiceWorkerRegistration.navigationPreload Nur lesbar

Gibt die Instanz des NavigationPreloadManager zurück, die mit der aktuellen Service Worker-Registrierung verbunden ist.

ServiceWorkerRegistration.paymentManager Nur lesbar Experimentell

Gibt eine Instanz des Zahlungsanwendungs-PaymentManager zurück, die verwendet wird, um verschiedene Funktionalitäten von Zahlungsanwendungen zu verwalten.

ServiceWorkerRegistration.periodicSync Nur lesbar Experimentell

Gibt eine Referenz auf die PeriodicSyncManager-Schnittstelle zurück, welche die Registrierung von Aufgaben ermöglicht, die in bestimmten Intervallen ausgeführt werden sollen.

ServiceWorkerRegistration.pushManager Nur lesbar

Gibt eine Referenz auf die PushManager-Schnittstelle zurück, um Push-Abonnements zu verwalten, einschließlich Abonnieren, Abrufen eines aktiven Abonnements und Zugriff auf den Push-Berechtigungsstatus.

ServiceWorkerRegistration.scope Nur lesbar

Gibt einen String zurück, der eine URL repräsentiert, die den Registrierungsbereich eines Service Workers definiert; das heißt, der Bereich von URLs, die der Service Worker kontrollieren kann.

ServiceWorkerRegistration.sync Nur lesbar

Gibt eine Referenz auf die SyncManager-Schnittstelle zurück, welche die Verwaltung von Hintergrundsynchronisationsprozessen ermöglicht.

ServiceWorkerRegistration.updateViaCache Nur lesbar

Gibt den Wert der Einstellung zurück, der bestimmt, unter welchen Umständen der Browser den HTTP-Cache konsultiert, wenn er versucht, den Service Worker oder irgendein Skript zu aktualisieren, das über importScripts() importiert wird. Es kann einen der folgenden Werte annehmen: imports, all oder none.

ServiceWorkerRegistration.waiting Nur lesbar

Gibt einen Service Worker zurück, dessen Zustand installed ist. Dies wird zunächst auf null gesetzt.

Instanzmethoden

Erbt auch Methoden von der übergeordneten Schnittstelle, EventTarget.

ServiceWorkerRegistration.getNotifications()

Gibt eine Liste der Benachrichtigungen in der Reihenfolge zurück, in der sie vom aktuellen Ursprung über die aktuelle Service Worker-Registrierung erstellt wurden.

ServiceWorkerRegistration.showNotification()

Zeigt die Benachrichtigung mit dem gewünschten Titel an.

ServiceWorkerRegistration.unregister()

Hebt die Registrierung des Service Workers auf und gibt ein Promise zurück. Der Service Worker wird alle laufenden Operationen abschließen, bevor er abgemeldet wird.

ServiceWorkerRegistration.update()

Prüft den Server auf eine aktualisierte Version des Service Workers, ohne Caches zu konsultieren.

Ereignisse

updatefound

Wird jedes Mal ausgelöst, wenn die ServiceWorkerRegistration.installing-Eigenschaft einen neuen Service Worker erhält.

Beispiele

In diesem Beispiel überprüft der Code zuerst, ob der Browser Service Workers unterstützt und registriert, falls ja, einen. Dann fügt er einen updatefound-Listener hinzu, in dem er die Service Worker-Registrierung verwendet, um weitere Änderungen am Zustand des Service Workers zu überwachen. Wenn sich der Service Worker seit der letzten Registrierung nicht geändert hat, wird das updatefound-Ereignis nicht ausgelöst.

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js")
    .then((registration) => {
      registration.addEventListener("updatefound", () => {
        // If updatefound is fired, it means that there's
        // a new service worker being installed.
        const installingWorker = registration.installing;
        console.log(
          "A new service worker is being installed:",
          installingWorker,
        );

        // You can listen for changes to the installing service worker's
        // state via installingWorker.onstatechange
      });
    })
    .catch((error) => {
      console.error(`Service worker registration failed: ${error}`);
    });
} else {
  console.error("Service workers are not supported.");
}

Spezifikationen

Specification
Service Workers
# serviceworkerregistration-interface
Push API
# extensions-to-the-serviceworkerregistration-interface

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch