MessagePort:start() 方法

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.

备注: 此特性在 Web Worker 中可用。

MessagePort 接口的 start() 方法开始发送该端口中的消息队列。只有在使用 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, false);
function handleMessage(e) {
  para.innerHTML = e.data;
  textInput.value = "";
}

channel.port1.start();

规范

Specification
HTML
# dom-messageport-start-dev

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
start

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见