如何使用本机javascript更改localestorage上的处理程序

时间:2017-07-30 12:31:55

标签: javascript events

如何使用原生javascript更改localestorage上的处理程序?

我的尝试是:

console.log("START");

window.addEventListener('storage',function(e){
   if(e.storageArea===sessionStorage){
        console.log("storage was changed");
   } else {
     /* else, event is caused by an update to localStorage, ignore it */
     console.log("ELSE");
   }

});

localStorage.setItem('qweyxcadsadsadsa', "DSADAS");

console.log("end")

但是,它不起作用,哪里有问题?

感谢您的帮助!

有一个jsfiddle:

https://jsfiddle.net/1qft6gcb/

1 个答案:

答案 0 :(得分:0)

您可以使用setInterval()创建自己的触发器。首次运行时,存储当前值。之后,将当前值与之前的值进行比较,必要时触发并更新值。我建议使用现有的pub / sub库。 Amplify.js封装了本地存储和pubsub,但是很老 - 主要是因为它工作得非常好,并且不需要更新。