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

View in English Always switch to English

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 auf einem Window-Objekt ausgelöst, wenn das Fenster eine Nachricht erhält, beispielsweise durch einen Aufruf von Window.postMessage() aus einem anderen Browsing-Kontext.

Dieses Ereignis ist nicht abbrechbar und blubbert nicht.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.

js
addEventListener("message", (event) => { })

onmessage = (event) => { }

Ereignistyp

Ein MessageEvent. Erbt von Event.

Event MessageEvent

Beispiele

Angenommen, ein Skript sendet eine Nachricht an einen anderen Browsing-Kontext, wie ein anderes <iframe>, mit folgendem Code:

js
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 mithilfe von addEventListener() den Empfang der Nachricht überwachen, mit Code wie diesem:

js
window.addEventListener("message", (event) => {
  console.log(`Received message: ${event.data}`);
});

Alternativ könnte der Zuhörer die onmessage Ereignishandler-Eigenschaft verwenden:

js
window.onmessage = (event) => {
  console.log(`Received message: ${event.data}`);
};

Spezifikationen

Spezifikation
HTML
# event-message
HTML
# handler-window-onmessage

Browser-Kompatibilität

Siehe auch