Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ServiceWorkerGlobalScope: sync-Ereignis

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist nur in Service Workers verfügbar.

Das sync-Ereignis der Schnittstelle ServiceWorkerGlobalScope wird ausgelöst, wenn die Seite (oder der Worker), die das Ereignis beim SyncManager registriert hat, ausgeführt wird und eine Netzwerkverbindung verfügbar ist.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("sync", (event) => { })

Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle einen Wert zuweisen:

js
onsync = (event) => { }

Ereignistyp

Ein SyncEvent. Erbt von ExtendableEvent und Event.

Event ExtendableEvent SyncEvent

Beispiele

Das folgende Beispiel zeigt, wie Sie in einem Service Worker auf ein sync-Ereignis reagieren.

js
self.addEventListener("sync", (event) => {
  if (event.tag === "sync-messages") {
    event.waitUntil(sendOutboxMessages());
  }
});

Sie können den Event-Handler auch über die Eigenschaft onsync einrichten. Beachten Sie jedoch, dass dadurch andere Event-Listener ersetzt werden, die gegebenenfalls über onsync hinzugefügt wurden:

js
self.onsync = (event) => {
  // …
};

Spezifikationen

Spezifikation
Web Background Synchronization
# dom-serviceworkerglobalscope-onsync

Browser-Kompatibilität

Siehe auch