监听本地存储更改事件

Listen to localstorage change event

有没有办法向浏览器本地存储项添加更改事件侦听器。

我有一个独立的应用程序,它对 localstorage 进行了更改,我希望我的 backbone 视图能够监听并相应地执行一些操作。

除了 jQuery 中的方法外,我在互联网上找不到任何东西:

$(window).bind('storage', function (e) {
    console.log(e.originalEvent.key, e.originalEvent.newValue);
});

jQuery 可以绑定到 storage 事件(按照你写的方式),但是有几点你必须注意:

  1. 你必须运行真正的代码背后ip/domain(你可以阅读更多
  2. storage 事件将在每个打开的选项卡上触发 除了 当前选项卡(这意味着 - 如果您只有 1 个打开的选项卡,并且您对该选项卡中的本地存储 - 即使 也不会 触发)。 More information here.

关于 backbone - 尝试这样的事情:

var SomeView = Backbone.View.extend({
    initialize:function() {
        $(window).on("storage", this.handleLocalStorageChange)
    }
});