ServiceWorkerGlobalScope: push-Ereignis

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

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

Hinweis: Dieses Feature ist nur verfügbar in Service Workers.

Das push-Ereignis wird an den globalen Bereich eines Service Workers (repräsentiert durch die Schnittstelle ServiceWorkerGlobalScope) gesendet, wenn der Service Worker eine Push-Nachricht erhalten hat.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergeleitet.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Event-Handler-Eigenschaft.

js
addEventListener("push", (event) => {});

onpush = (event) => {};

Ereignistyp

Ereigniseigenschaften

Erbt Eigenschaften von seinem übergeordneten Element ExtendableEvent. Zusätzliche Eigenschaften:

PushEvent.data Nur lesbar

Gibt eine Referenz zu einem PushMessageData-Objekt zurück, das die an das PushSubscription gesendeten Daten enthält.

Beispiel

Dieses Beispiel richtet einen Handler für push-Ereignisse ein, der JSON-Daten entgegennimmt, sie analysiert und die Nachricht zur Bearbeitung basierend auf den im Nachrichtentext enthaltenen Informationen weiterleitet.

js
self.addEventListener(
  "push",
  (event) => {
    let message = event.data.json();

    switch (message.type) {
      case "init":
        doInit();
        break;
      case "shutdown":
        doShutdown();
        break;
    }
  },
  false,
);

Spezifikationen

Specification
Push API
# extensions-to-the-serviceworkerglobalscope-interface
Push API
# dom-serviceworkerglobalscope-onpush

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch