广播频道
注意:此功能在 Web Workers 中可用。
BroadcastChannel
接口表示一个命名频道,给定 来源 的任何 浏览上下文 都可以订阅该频道。它允许在同一来源的不同文档(在不同的窗口、选项卡、框架或 iframe 中)之间进行通信。消息通过 message
事件广播,该事件会触发监听该频道的每个 BroadcastChannel
对象,除了发送消息的对象。
构造函数
BroadcastChannel()
-
创建一个与命名频道链接的对象。
实例属性
此接口还继承了其父级 EventTarget
的属性。
BroadcastChannel.name
只读-
返回一个字符串,即该频道的名称。
实例方法
此接口还继承了其父级 EventTarget
的方法。
BroadcastChannel.postMessage()
-
将消息(任何类型的对象)发送到每个监听相同频道的
BroadcastChannel
对象。 BroadcastChannel.close()
-
关闭频道对象,表示它不会收到任何新消息,并最终允许它被垃圾回收。
事件
此接口还继承了其父级 EventTarget
的事件。
message
-
当频道收到消息时触发。还可以通过
onmessage
属性获取。 messageerror
-
当收到无法反序列化的消息时触发。还可以通过
onmessageerror
属性获取。
规范
规范 |
---|
HTML 标准 # broadcasting-to-other-browsing-contexts |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 另一种更重量级的浏览器上下文之间通信方式:
ServiceWorker
. - 广播频道 API 概述