需求:有AB两个页面,同属于一个web系统,当B页面点击提交按钮时,刷新(重新加载)A页面的数据,页面如下图所示:
实现方法:
监听 LocalStorage 的变化,当其中的一个窗口导致储存的数据发生改变时,其他窗口进行事件监听,实现多个窗口之间的通信。
当 LocalStorage 变化时,会触发storage事件。
在B页面提交方法中添加如下代码:
localStorage.setItem('timpstamp',+new Date());
在A页面调用的js文件中添加如下代码:
//页面初始加载时为timpstamp参数赋值
$(function(){
localStorage.setItem('timpstamp',+new Date());
});
//监听storage值发生变化时,执行
window.addEventListener('storage', function (e) {
if(e.key=='timpstamp'){
//页面A加载数据
}
});
通过以上代码的实现,就可以达到浏览器跨页面通信。
参考链接: