JS订阅获取localStorage或sessionStorage值变化
const setItem = localStorage.setItem;
localStorage.setItem = function (name, value) {
setItem.apply(this, arguments);
const event = new Event('setItem') as any;
event.key = name;
event.value = value;
window.dispatchEvent(event);
}
// 页面使用
window.addEventListener('setItem', function (e: Event | any) {
console.log(`localStorage变化 : ${e.key}: ${e.value}`);
});