多个标签共享同一个任务窗口的需求:
场景:中台发票需要大量的验证时间和校验时间 但是这里又不可能阻塞用户的操作,就需要在页面的后台挂起一系列的任务。
首先用户使用页面的时候 可能出现多个标签的情况,所以需要让所有的标签页同步一份数据,
这里需要用到localStorage的监听事件,来让所有的标签都共享一份。
window.addEventListener('storage', function(event) { if (event.key === 'myData') { // 当localStorage中key为myData的数据发生变化时,做出相应的处理 console.log('myData已被修改'); console.log('新的值为: ' + event.newValue); } });
这里首先要注意的是 localStorage下的数据因为是String类型,所以需要对数据结构进行迭代的遍历,像数组这些都可能有保存的问题。