MessageChannel: port1 property
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Note: This feature is available in Web Workers.
The port1 read-only property of the
MessageChannel interface returns the first port of the message channel —
the port attached to the context that originated the channel.
Value
A MessagePort object, the first port of the channel, that is the port
attached to the context that originated the channel.
Examples
In the following code block, you can see a new channel being created using the
MessageChannel() constructor. When the
<iframe> has loaded, we pass port2 to the
<iframe> using MessagePort.postMessage along with a
message. The handleMessage handler then responds to a message being sent
back from the <iframe> (using onmessage),
putting it into a paragraph. The handleMessage method is associated to the
port1 to listen when the message arrives.
const channel = new MessageChannel();
const para = document.querySelector("p");
const ifr = document.querySelector("iframe");
const otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded);
function iframeLoaded() {
otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
Specifications
| Specification |
|---|
| HTML> # dom-messagechannel-port1-dev> |
Browser compatibility
Loading…