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

View in English Always switch to English

ExtendableMessageEvent: data-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2018⁩.

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

Die data-Eigenschaft der ExtendableMessageEvent-Schnittstelle ist eine schreibgeschützte Eigenschaft, die die Daten des Ereignisses zurückgibt. Es kann sich um jeden Datentyp handeln.

Wert

Jeder Datentyp.

Beispiele

Wenn der folgende Code innerhalb eines Service Workers verwendet wird, um auf Push-Nachrichten zu antworten, indem die über PushMessageData empfangenen Daten über eine Channel-Nachricht an den Hauptkontext gesendet werden, wird das onmessage-Ereignisobjekt ein ExtendableMessageEvent sein.

js
let port;

self.addEventListener("push", (e) => {
  const obj = e.data.json();

  if (obj.action === "subscribe" || obj.action === "unsubscribe") {
    port.postMessage(obj);
  } else if (obj.action === "init" || obj.action === "chatMsg") {
    port.postMessage(obj);
  }
});

self.onmessage = (e) => {
  console.log(e.data);
  port = e.ports[0];
};

Spezifikationen

Specification
Service Workers Nightly
# extendablemessage-event-data

Browser-Kompatibilität

Siehe auch