监听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属性值,才会执行。即方法二
同个标签页则使用方法一


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部