BroadcastChannel - 代表一个可订阅的频道

BroadcastChannel 接口代表一个指定的频道,任何给定的浏览上下文可以订阅它。它允许同一个源的不同文档(在不同的窗口, 标签, 框架或内联框架)之间进行通信。通过监听该频道的所有 BroadcastChannel 对象上触发的 message 事件来广播消息。

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

构造函数

BroadcastChannel()

创建一个连接到指定通道的对象。

属性

该接口继承了其父项 EventTarget 的属性。

BroadcastChannel.name

返回 DOMString,表示频道的名称。

事件处理程序

BroadcastChannel.onmessage

一个 EventHandler 属性,用于指定在该对象上触发 message 事件时要执行的函数。

BroadcastChannel.onmessageerror

一个 MessageEvent,当触发了 MessageError 类型的 MessageEvent 时调用,也就是当它收到一条不能成为反序列化的消息时触发。

方法

该接口继承了其父项 EventTarget 的方法。

BroadcastChannel.postMessage()

将任何类型对象的消息发送到监听当前频道的每个 BroadcastChannel 对象。

BroadcastChannel.close()

关闭通道对象,指示它不会收到任何新消息,并允许它最终被垃圾收集。

规范

规范 状态 备注
HTML Living Standard
BroadcastChannel 的定义
现行的标准 初始定义。

桌面浏览器兼容性

特性 Chrome Edge Firefox Internet Explorer Opera Safari
基础支持 54 未知 38 不支持 41 不支持
BroadcastChannel() constructor 54 未知 38 不支持 41 不支持
name 54 未知 38 不支持 41 不支持
onmessage 54 未知 38 不支持 41 不支持
onmessageerror 60 未知 57 不支持 47 不支持
close 54 未知 38 不支持 41 不支持
postMessage 54 未知 38 不支持 41 不支持

移动浏览器兼容性

特性 Android Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
基础支持 54 54 未知 未知 未知 41 不支持
BroadcastChannel() constructor 54 54 未知 未知 未知 41 不支持
name 54 54 未知 未知 未知 41 不支持
onmessage 54 54 未知 未知 未知 41 不支持
onmessageerror 60 60 未知 未知 未知 47 不支持
close 54 54 未知 未知 未知 41 不支持
postMessage 54 54 未知 未知 未知 41 不支持

相关链接