MessageChannel: port1 属性
注意:此功能在 Web Workers 中可用。
port1
是 MessageChannel
接口的只读属性,它返回消息通道的第一个端口,即附加到创建该通道的上下文的端口。
值
一个 MessagePort
对象,通道的第一个端口,即附加到创建该通道的上下文的端口。
示例
在以下代码块中,您可以看到使用 MessageChannel()
构造函数创建了一个新通道。当 <iframe>
加载完毕后,我们将 port2
传递给 <iframe>
,使用 MessagePort.postMessage
以及一条消息。然后,handleMessage
处理程序响应从 <iframe>
发送回来的消息(使用 onmessage
),将其放入一个段落中。handleMessage
方法与 port1
关联,以便在消息到达时监听。
js
const channel = new MessageChannel();
const para = document.querySelector("p");
const ifr = document.querySelector("iframe");
const otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded, false);
function iframeLoaded() {
otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
规范
规范 |
---|
HTML 标准 # dom-messagechannel-port1-dev |
浏览器兼容性
BCD 表格仅在浏览器中加载