BroadcastChannel: message-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 2022 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das message-Ereignis der BroadcastChannel-Schnittstelle wird ausgelöst, wenn auf diesem Kanal eine Nachricht eintrifft.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
js
addEventListener("message", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:
js
onmessage = (event) => { }
Ereignistyp
Ein MessageEvent. Erbt von Event.
Beispiele
In diesem Beispiel gibt es einen „Sender“-<iframe>, der den Inhalt einer <textarea> sendet, wenn der Benutzer auf eine Schaltfläche klickt. Zwei „Empfänger“-iframes empfangen die gesendete Nachricht und schreiben das Ergebnis in ein <div>-Element.
Sender
js
const channel = new BroadcastChannel("example-channel");
const messageControl = document.querySelector("#message");
const broadcastMessageButton = document.querySelector("#broadcast-message");
broadcastMessageButton.addEventListener("click", () => {
channel.postMessage(messageControl.value);
});
Empfänger 1
js
const channel = new BroadcastChannel("example-channel");
channel.addEventListener("message", (event) => {
received.textContent = event.data;
});
Empfänger 2
js
const channel = new BroadcastChannel("example-channel");
channel.addEventListener("message", (event) => {
received.textContent = event.data;
});
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-message> |
| HTML> # handler-broadcastchannel-onmessage> |
Browser-Kompatibilität
Siehe auch
- Verwandte Ereignisse:
messageerror.