业务需求背景:点击客户端相关列表(实际是外部链接)实现浏览器当前页面刷新
业务实现原理及步骤
原理:通过外部链接打开相应界面是多标签页的操作,要想实现单标签页刷新需要建立多标签页间的通信(主要是关闭其他标签页,BroadcastChannel 只能用于同源标签页间的通信)
首先,要生成唯一ID(Date.now() 等方式)、建立通道new BroadcastChannel("自定义通道名")
其次,发送信息postMessage(包含唯一ID的对象)
最后,监听共享通道的信息
// onmessage只能用于接收其他标签页间的共享信息
onmessage = function(event) {
// 通过event.data的共享信息唯一ID判定是否是当前标签页(不是则关闭相应标签页)
// 关闭标签页的方法
window.location.href = "about:blank";
window.close();
}