监听storage改变
以下代码可以用来监听页面中localstorage和sessionstorage中属性值的变化
window.addEventListener('storage', event=>{})
实现: localStorage.setItem('test', 111);
触发storage事件
一、同个标签页监听 storage
var orignalSetItem = localStorage.setItem;
localStorage.setItem = function(key,newValue){var setItemEvent = new Event("setItemEvent");setItemEvent.key = key;setItemEvent.newValue = newValue;setItemEvent.oldValue = localStorage.getItem(key);window.dispatchEvent(setItemEvent);orignalSetItem.apply(this,arguments);
}
window.addEventListener("setItemEvent", function (e) {console.log(e.key , e.newValue , e.oldValue )
});
二、不同标签页监听 storage
window.addEventListener(‘storage’, e=>{console.log(e)})
**
三、二者用法区别
**
storage事件,只有在其它标签页改变storage属性值,才会执行。即方法二
同个标签页则使用方法一
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!