演示地址(建议使用新版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:不支持