postMessage
摘要
通过通道发布消息,从一个端口到另一个端口。
方法 of apis/web-messaging/MessagePortapis/web-messaging/MessagePort
语法
MessagePort.postMessage(message, transfer);
参数
message
- 数据类型
- any
JavaScript 原始类型,例如一个 字符串、PixelArray、ImageData、Blob、File 或 ArrayBuffer。
transfer
- 数据类型
- any
(可选)
transfer 列表中包含的对象会被转移,而不是被克隆,这意味着在发送端它们将不再可用。 如果 transfer 数组包含重复的对象或源端口或目标端口,或者如果 message 无法被克隆,则会抛出 DataCloneError 错误。
返回值
无返回值
示例
此示例创建一个新的消息通道,并使用其中一个端口发送消息,该消息将由另一个端口接收。
var msgChannel = new MessageChannel();
msgChannel.port1.postMessage('Hello world');
备注
当您创建一个新的 MessageChannel 对象时,它有两个连接的 MessagePort 对象,只能在它们之间发送和接收消息。 如果提供了 ports 参数但包含错误,则会抛出 InvalidStateError 异常。 发送包含不支持的对象(例如函数)的消息时,会抛出 DataCloneError 异常。
相关规范
- W3C Web 消息规范
- W3C 候选推荐标准
署名
Microsoft Developer Network: Windows Internet Explorer API 参考文章