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> |