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}`);
    });
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐