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