--- title: MessageChannel.port1 slug: Web/API/MessageChannel/port1 translation_of: Web/API/MessageChannel/port1 ---
{{APIRef("HTML DOM")}}

{{domxref("MessageChannel")}} 的只读属性 port1 返回消息通道的第一个端口, 此端口连接到源上下文通道。

{{AvailableInWorkers}}

语法

channel.port1;

Value

一个 {{domxref("MessagePort")}} 对象, 通道的第一个端口,此端口连接到源上下文通道。

示例

在以下代码块中,您可以看到使用 {{domxref("MessageChannel.MessageChannel", "MessageChannel()")}}构造函数创建的新通道。当{{HTMLElement("iframe")}}加载完毕,我们使用{{domxref("MessagePort.postMessage")}}方法把一条消息和{{domxref("MessageChannel.port2")}}传递给{{HTMLElement("iframe")}}。handleMessage处理程序将会从<iframe>中(使用{{domxref("MessagePort.onmessage")}}监听事件)接收到信息,将数据其放入一个段落。handleMessage 方法关联到 port1用于监听收到的消息。

var channel = new MessageChannel();
var para = document.querySelector('p');

var ifr = document.querySelector('iframe');
var 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;
}

一个完整的运行示例,可以在Github上查看 channel messaging basic demo  (run it live too).

规范

规范 状态 备注
{{SpecName('HTML WHATWG', '#dom-messagechannel-port1','port1')}} {{Spec2('HTML WHATWG')}} No difference from {{SpecName("HTML5 Web Messaging")}}.
{{SpecName('HTML5 Web Messaging', '#dom-messagechannel-port1','port1')}} {{Spec2('HTML5 Web Messaging')}} W3C version of the spec

浏览器兼容性

{{CompatibilityTable}}
Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 {{CompatVersionUnknown}} {{CompatGeckoDesktop(41)}} 10.0 10.6 5
Available in workers {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(41)}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 4.4 4 {{CompatVersionUnknown}} {{CompatGeckoMobile(41)}} {{CompatVersionUnknown}} 10.0 11.5 5.1
Available in workers {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(41)}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}

参考