BroadcastChannel跨页面通信API

BroadcastChannel可以用于同源页面之间的通信,可以用来做用户访问追踪等

演示地址(建议使用新版Chrome):https://demo.lyz810.com/broadcastChannel/

一、初始化信道

const channel = new BroadcastChannel(channelName);

其中channelName为通信信道的名称,希望通信的同源页面之间只要设置了相同的channelName就可以互相通信了

二、监听信道

channel.onmessage = ({ data }) => {
  console.log(data);
};

三、发送信息

channel.postMessage(anything);

发送的内容可以是数组、对象、字符串、数字等,但不能发送如函数、Symbol等特殊的数据

四、关闭信道

channel.close();

五、兼容性
IE系列(包括Edge):不支持
Firefox:38+
Chrome:54+
Safari:不支持