↑ arvau

MDN / Window: message event

The message event is fired on a [` {{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”)}}

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

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

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

This event is not cancellable and does not bubble.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

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

onmessage = (event) => { }

Event type

A [` {{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”)}}

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

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

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

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

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

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

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

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

Browser compatibility

See also