此页面 已准备就绪

注意: WebPlatform 项目在 2012 年至 2015 年间由多个维护者支持,现已停止维护。该网站现在可在 github 上找到。

postMessage

摘要

通过通道发布消息,从一个端口到另一个端口。

方法 of apis/web-messaging/MessagePortapis/web-messaging/MessagePort

语法

 MessagePort.postMessage(message, transfer);

参数

message

数据类型
any

JavaScript 原始类型,例如一个 字符串PixelArrayImageDataBlobFileArrayBuffer

transfer

数据类型
any

(可选)

transfer 列表中包含的对象会被转移,而不是被克隆,这意味着在发送端它们将不再可用。 如果 transfer 数组包含重复的对象或源端口或目标端口,或者如果 message 无法被克隆,则会抛出 DataCloneError 错误。

返回值

无返回值

示例

此示例创建一个新的消息通道,并使用其中一个端口发送消息,该消息将由另一个端口接收。

var msgChannel = new MessageChannel();
msgChannel.port1.postMessage('Hello world');

备注

当您创建一个新的 MessageChannel 对象时,它有两个连接的 MessagePort 对象,只能在它们之间发送和接收消息。 如果提供了 ports 参数但包含错误,则会抛出 InvalidStateError 异常。 发送包含不支持的对象(例如函数)的消息时,会抛出 DataCloneError 异常。

相关规范

W3C Web 消息规范
W3C 候选推荐标准

署名