BroadcastChannel 如何使用

BroadcastChannel 是一个用于在不同的浏览器窗口或标签页之间进行通信的接口。它允许你发送消息并在其他窗口或标签页上监听这些消息。以下是 BroadcastChannel 的基本使用方法:

创建BroadcastChannel
首先,你需要在发送消息和接收消息的窗口或标签页中创建一个 BroadcastChannel 实例。可以使用相同的频道名称来连接这些实例。例如,在一个窗口中创建频道:

const channel = new BroadcastChannel('myChannel');

这里创建了一个名为 myChannel的频道。

发送消息:
要发送消息,可以使用 postMessage() 方法。例如,在上述窗口中发送消息:

channel.postMessage('Hello, other windows!');

这会将消息 ‘Hello, other windows!’ 发送到所有连接到 ‘myChannel’ 频道的其他窗口或标签页。

监听消息:
在其他窗口或标签页中,你也需要创建相同的 BroadcastChannel 实例,并使用 addEventListener() 方法来监听消息。例如,在另一个窗口中:

const channel = new BroadcastChannel('myChannel');

channel.addEventListener('message', event => {
  console.log('Received message:', event.data);
});

这里创建了另一个 ‘myChannel’ 频道实例,并在收到消息时打印消息内容。

当你在分别的窗口或标签页中发送消息时,BroadcastChannel 会负责将消息传递给所有连接到相同频道的实例。这样,不同窗口之间就能够进行通信。

需要注意的是,BroadcastChannel 只能在相同的源(origin)下工作。也就是说,只有在来自相同协议、主机和端口的网页之间才能发送和接收消息

在不需要使用 BroadcastChannel 实例时,通过 close() 方法手动关闭频道,以便释放资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值