问题 检测localStorage的任何变化?


有没有办法检测HTML5 localStorage中的任何更改,然后如果确实有任何更改,则调用某些函数? 我将某些密钥存储为名称为“e1”,“e2”,“e3”等等......

我想检测是否有任何键被删除或添加,然后触发一些功能,如果有任何变化...


4772
2018-04-10 17:18


起源

可能重复 如何使用jQuery为所有浏览器绑定到localStorage更改事件? - Blazemonger


答案:


根据规格 Storage 界面发出 storage 事件 在它影响的全局对象上。

所以在你的情况下你可能只是添加处理程序

window.addEventListener("storage", function () {
    // do your checks to detect
    // changes in "e1", "e2" & "e3" here
}, false);

没有必要 jQuery 甚至。


15
2018-04-10 17:24



这对我不起作用。 i.imgur.com/IEAfOAE.jpg - madprops
@madprops因为事件将在辅助选项卡(同一域)中触发,而不是在主选项卡中触发。 stackoverflow.com/a/4689033/1221082 - Denis