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():
addEventListener("sync", (event) => { })
Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle einen Wert zuweisen:
onsync = (event) => { }
Ereignistyp
Ein SyncEvent. Erbt von ExtendableEvent und Event.
Beispiele
Das folgende Beispiel zeigt, wie Sie in einem Service Worker auf ein sync-Ereignis reagieren.
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:
self.onsync = (event) => {
// …
};
Spezifikationen
| Spezifikation |
|---|
| Web Background Synchronization> # dom-serviceworkerglobalscope-onsync> |