Arthur Denner

An image representing a window and an iframe communicating.

TL;DR

monitorEvents(window, 'message')
// or
window.addEventListener('message', console.log)

Concept

From the MDN docs:

The window.postMessage() method safely enables cross-origin communication between Window objects; e.g., between a page and a pop-up that it spawned, or between a page and an iframe embedded within it.

That’s pretty cool, right?

Demo

Here is a demo of postMessage usage.

Debug

But how can we debug these messages?

Run the following in the Console tab:

// On Safari and Chromium-based browsers
monitorEvents(window, 'message')
// On Firefox
window.addEventListener('message', console.log)
// ^ It works in all the other browsers too

If you’re testing in CodeSandbox, run the command in the Console of its detached window.

Result

After the setup, when receiving messages, you should see something like this:

--

--

Arthur Denner

Arthur Denner

Software Engineer using JavaScript. Learning Flutter, Node, MongoDB and GraphQL. Addicted to TV shows, especially nordic. From 🇧🇷, living in 🇸🇪.