ServiceWorkerGlobalScope: push-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.
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 push-Ereignis wird an den globalen Scope eines Service Workers gesendet (vertreten durch die ServiceWorkerGlobalScope-Schnittstelle), wenn der Service Worker eine Push-Nachricht erhalten hat.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergegeben.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("push", (event) => { })
onpush = (event) => { }
Ereignistyp
Ereigenschaften
Erbt Eigenschaften von seinem Elternteil, ExtendableEvent. Zusätzliche Eigenschaften:
PushEvent.dataSchreibgeschützt-
Gibt eine Referenz zu einem
PushMessageData-Objekt zurück, das Daten enthält, die an dasPushSubscriptiongesendet wurden.
Beispiel
Dieses Beispiel richtet einen Handler für push-Ereignisse ein, der JSON-Daten entnimmt, sie analysiert und die Nachricht basierend auf den im Nachrichteninhalt enthaltenen Informationen zur Verarbeitung weiterleitet.
self.addEventListener("push", (event) => {
let message = event.data.json();
switch (message.type) {
case "init":
doInit();
break;
case "shutdown":
doShutdown();
break;
}
});
Spezifikationen
| Spezifikation |
|---|
| Push API> # extensions-to-the-serviceworkerglobalscope-interface> |
| Push API> # dom-serviceworkerglobalscope-onpush> |