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
对象上触发,发送消息的对象除外。
构造函数
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
参见
- 一种在不同浏览器上下文之间通信的重量级方案:
ServiceWorker
。 - Broadcast Channel API 概述