javascript - 在同一窗口中使用 localStorage 监听变化

标签 javascript events local-storage

我想在同一页面上监听 localStorage API 中发生的变化(而不是像规范所说的那样在多个选项卡中)。

我目前正在使用这段代码:

var storageHandler = function () {
    alert('storage event 1');
  };

  window.addEventListener("storage", storageHandler, false);

localStorage.setItem('foo', 'bar');

有谁知道在一个页面上监听 localStorage 事件的普通 JavaScript 方法(没有 jQuery)

最佳答案

由于JS是动态语言,只需重写原始函数即可。

var originalSetItem = localStorage.setItem; 
localStorage.setItem = function(){
    document.createEvent('Event').initEvent('itemInserted', true, true);
    originalSetItem.apply(this, arguments);
}

关于javascript - 在同一窗口中使用 localStorage 监听变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974084/

相关文章:

events - Flutter Google Calendar Api 列表事件

javascript - 多个项目本地存储javascript

javascript - HTML5 本地存储 - 存储和加载已经下载过一次的 CSS

javascript - 如何在 Canvas 中定位 Path2D SVG 元素?

javascript - 我应该如何在基本的 HTML 页面中实现 jScroll?

c# - 无法加载 View 状态

javascript - localStorage 数组拆分

javascript - 语法错误: 'with' statements are not valid in strict mode

javascript - 在 javascript 中使用 requestAnimationFrame 时没有动画

java - 使用 Esper,如何对事件进行动态过滤?