方式一:
利用本地缓存的方式
//需要发送消息的时候
localStorage.setItem('updataCatalogTask',true)
//然后在你需要接受消息的页面添加监听
window.addEventListener('storage', (event) => {
console.log(event,'触发index');
if (event.key == 'updataCatalogTask' && event.newValue == 'true') {
//dosomething
}
})
方式二:广播通信
//需要发送消息的时候
const channel = new BroadcastChannel('updataCatalogTask')
channel.postMessage('updataCatalogTask')
//然后在你需要接受消息的页面添加监听
const channel = new BroadcastChannel('updataCatalogTask')
channel.addEventListener('message',(event)=>{
console.log(event,'跨业面通信!!!')
})
前面两个必须同源
方式三:可以不同源
//需要发送消息的时候
window.opener.postMessage('updataCatalogTask')
//然后在你需要接受消息的页面添加监听
window.addEventListener('message',(event)=>{
console.log(event,'跨业面通信!!!')
})