BroadcastChannel - Web API 接口参考 编辑
BroadcastChannel
接口代理了一个命名频道,可以让指定 origin 下的任意 browsing context 来订阅它。它允许同源的不同浏览器窗口,Tab页,frame或者 iframe 下的不同文档之间相互通信。通过触发一个 message
事件,消息可以广播到所有监听了该频道的 BroadcastChannel
对象。
构造函数
BroadcastChannel()
- 创建一个链接到命名频道的对象。
属性
该接口会从它的父级 EventTarget
继承属性。
BroadcastChannel.name
- 频道名称,返回
DOMString
。 事件处理程序
BroadcastChannel.onmessage
EventHandler
,用于定义当该对象上触发了message
事件时要执行的函数。BroadcastChannel.onmessageerror
EventHandler
,用于定义当该对象上触发了类型为MessageError
的MessageEvent
事件时要执行的函数。当接收到一条无法反序列化的消息时会触发此事件。
方法
该接口会从它的父级 EventTarget
继承方法。
BroadcastChannel.postMessage()
- 向所有监听了相同频道的
BroadcastChannel
对象发送一条消息,消息内容可以是任意类型的数据。 BroadcastChannel.close()
- 关闭频道对象,告诉它不要再接收新的消息,并允许它最终被垃圾回收。
事件
message
- 当频道收到一条消息时触发。
也可以使用onmessage
属性访问。 messageerror
- 当频道收到一条无法反序列化的消息时触发。
也可以使用onmessageerror
属性访问。
规范
规范 | 状态 | 备注 |
---|---|---|
HTML Living Standard BroadcastChannel | Living Standard | Initial definition. |
浏览器兼容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.另见
- 一种在不同浏览器上下文之间通信的重量级方案:
ServiceWorker
。 - Broadcast Channel API overview
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论