ExtendableMessageEvent: data-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2018 browserübergreifend verfügbar.
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
| Spezifikation |
|---|
| Service Workers Nightly> # extendablemessage-event-data> |