在页面中监听多个广播通道

简介: 使用 JavaScript 的 `BroadcastChannel` 可以监听多个广播通道。示例展示了如何创建并处理两个通道"channel1"和"channel2"的事件。每个通道都有独立的`onmessage`事件处理程序,接收到消息时会在控制台打印。可以按需创建多个通道,并在不再需要时调用`channel.close()`关闭以释放资源。

在页面中监听多个广播通道,你可以创建多个 BroadcastChannel 实例,并为每个通道分别设置不同的事件处理程序。

以下是一个示例代码,展示如何在页面中监听多个广播通道:

// 创建第一个广播通道
const channel1 = new BroadcastChannel('channel1');
channel1.onmessage = function(event) {
   
  console.log('Received message from channel1:', event.data);
};

// 创建第二个广播通道
const channel2 = new BroadcastChannel('channel2');
channel2.onmessage = function(event) {
   
  console.log('Received message from channel2:', event.data);
};

在这个示例中,我们创建了两个不同的广播通道,分别命名为 "channel1" 和 "channel2"。然后,我们为每个通道设置了相应的 onmessage 事件处理程序。当页面接收到来自这些通道的消息时,对应的事件处理程序将被触发,并在控制台中打印出接收到的消息。

你可以根据需要创建任意数量的广播通道,并为每个通道指定独立的事件处理程序。这样,页面就能同时监听多个广播通道的消息。记得在不需要使用这些通道时,及时关闭它们,通过调用 channel.close() 方法来释放资源。

相关文章
|
6月前
|
设计模式 小程序 API
小程序之页面通信&派发通知
小程序之页面通信&派发通知
|
4月前
|
算法 网络协议 物联网
|
6月前
|
Java Android开发
Broadcast的注册、发送和接收过程
Broadcast的注册、发送和接收过程
51 0
|
6月前
|
XML Java Android开发
Android Studio App开发之监听系统广播Broadcast的讲解及实战(包括接收分钟到达广播、网络变更广播、定时管理器等 附源码)
Android Studio App开发之监听系统广播Broadcast的讲解及实战(包括接收分钟到达广播、网络变更广播、定时管理器等 附源码)
446 0
|
消息中间件 Java RocketMQ
路由注册之发送心跳包|学习笔记
快速学习路由注册之发送心跳包
路由注册之发送心跳包|学习笔记
|
算法 物联网
设备通过mqtt通道的动态免预注册
一型一密认证方式下,同一产品下所有设备可以烧录相同的设备标志信息,即所有设备包含相同的产品证书(ProductKey和ProductSecret)。设备发送激活请求时,物联网平台会进行身份确认,认证通过后,下发设备接入所需信息。
452 0
|
存储 消息中间件 Android开发
Android源码分析--广播的注册、发送和接收
Android源码分析--广播的注册、发送和接收
294 0
Android源码分析--广播的注册、发送和接收
|
网络协议 Linux