Window: message event
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit August 2017 browserübergreifend verfügbar.
Das message-Ereignis wird bei einem Window-Objekt ausgelöst, wenn das Fenster eine Nachricht erhält, zum Beispiel durch einen Aufruf von Window.postMessage() aus einem anderen Browsing-Kontext.
Dieses Ereignis ist nicht abbruchfähig und wird nicht propagiert.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Ereignisbehandlereigenschaft.
addEventListener("message", (event) => { })
=> { }
Ereignistyp
Ein MessageEvent. Erbt von Event.
Beispiele
Angenommen, ein Skript sendet eine Nachricht an einen anderen Browsing-Kontext, wie ein anderes <iframe>, mit folgendem Code:
const targetFrame = window.top.frames[1];
const targetOrigin = "https://example.org";
const windowMessageButton = document.querySelector("#window-message");
windowMessageButton.addEventListener("click", () => {
targetFrame.postMessage("hello there", targetOrigin);
});
Der Empfänger kann mit addEventListener() auf die Nachricht hören, mit folgendem Code:
window.addEventListener("message", (event) => {
console.log(`Received message: ${event.data}`);
});
Alternativ könnte der Listener die onmessage-Ereignisbehandlereigenschaft nutzen:
window. => {
console.log(`Received message: ${event.data}`);
};
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-message> |
| HTML> # handler-window-onmessage> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Siehe auch
- Verwandte Ereignisse:
messageerror. Window.postMessage().