docs.rodeo

MDN Web Docs mirror

Window: message event

{{APIRef}} 

The message event is fired on a {{domxref('Window')}}  object when the window receives a message, for example from a call to Window.postMessage() from another browsing context.

This event is not cancellable and does not bubble.

Syntax

Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}} , or set an event handler property.

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

onmessage = (event) => {};

Event type

A {{domxref("MessageEvent")}} . Inherits from {{domxref("Event")}} .

{{InheritanceDiagram("MessageEvent")}} 

Event properties

This interface also inherits properties from its parent, {{domxref("Event")}} .

Examples

Suppose a script sends a message to a different browsing context, such as another <iframe>, using code like this:

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);
});

The receiver can listen for the message using addEventListener() with code like this:

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

Alternatively the listener could use the onmessage event handler property:

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

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN