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.
Instanzeigenschaften
Erbt auch Eigenschaften von der übergeordneten Schnittstelle, EventTarget
.
ServiceWorkerRegistration.active
Nur lesbar-
Gibt einen Service Worker zurück, dessen Zustand
activating
oderactivated
ist. Dies wird zunächst aufnull
gesetzt. Ein aktiver Worker wird einenClient
kontrollieren, wenn die URL des Clients innerhalb des Bereichs der Registrierung liegt (diescope
-Option wird gesetzt, wennServiceWorkerContainer.register
zuerst aufgerufen wird). ServiceWorkerRegistration.backgroundFetch
Nur lesbar Experimentell-
Gibt eine Referenz auf ein
BackgroundFetchManager
-Objekt zurück, welches Hintergrundabrufoperationen verwaltet. -
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 aufnull
gesetzt. -
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
odernone
. ServiceWorkerRegistration.waiting
Nur lesbar-
Gibt einen Service Worker zurück, dessen Zustand
installed
ist. Dies wird zunächst aufnull
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.
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