MessagePort: start() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 2015 年 9 月以来,该特性已在各大浏览器中可用。

注意:此功能在 Web Workers 中可用。

start()MessagePort 接口的一个方法,用于开始发送在端口上排队等待发送的消息。当使用 EventTarget.addEventListener 时才需要调用此方法;如果使用 onmessage,则会隐式调用此方法。

语法

js
start()

参数

无。

返回值

无(undefined)。

示例

在下面的代码块中,你可以看到一个 handleMessage 处理函数,当通过 onmessage 向此文档发送消息时,该函数会运行

js
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
  para.innerHTML = e.data;
}

另一种选择是使用 EventTarget.addEventListener 来完成此操作,但是,当使用此方法时,你需要显式调用 start() 来开始消息流向此文档

js
channel.port1.addEventListener("message", handleMessage);
function handleMessage(e) {
  para.innerHTML = e.data;
  textInput.value = "";
}

channel.port1.start();

规范

规范
HTML
# dom-messageport-start-dev

浏览器兼容性

另见