BroadcastChannel

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

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

BroadcastChannel 接口表示给定的任何浏览上下文都可以订阅的命名频道。它允许同源的不同浏览器窗口、标签页、frame 或者 iframe 下的不同文档之间相互通信。消息通过 message 事件进行广播,该事件在侦听该频道的所有 BroadcastChannel 对象上触发,发送消息的对象除外。

EventTarget BroadcastChannel

构造函数

BroadcastChannel()

创建一个链接到命名频道的对象。

实例属性

该接口也从它的父接口 EventTarget 继承属性。

BroadcastChannel.name

频道名称,返回 DOMString

实例方法

该接口也从它的父接口 EventTarget 继承方法。

BroadcastChannel.postMessage()

向所有监听了相同频道的 BroadcastChannel 对象发送一条消息,消息内容可以是任意类型的数据。

BroadcastChannel.close()

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

事件

该接口也从它的父接口 EventTarget 继承事件。

message

当频道收到一条消息时触发。也可以使用 onmessage 属性访问。

messageerror

当频道收到一条无法反序列化的消息时触发。也可以使用 onmessageerror 属性访问。

规范

Specification
HTML Standard
# broadcasting-to-other-browsing-contexts

浏览器兼容性

BCD tables only load in the browser

参见