当localStorage的值发生变化时,页面会监听到”stroage”事件:
window.addEventListener("storage", function(event){
if(!event.newValue){
reutrn;
}
if(event.key == "getSession"){
localStorage.setItem("storeSessionData", sessionStorage.getItem("sessionValue"));
localStorage.removeItem("storeSessionData");
}
...
});
在该函数中,当 localStorage 中 key 为 getSession 的内容发生变化时会调用该函数,函数中有一个 event 对象,该event的属性 key 为 localStorage改变内容的key(这里为getSession) , 另一个属性 newValue 存储着 localStorage中key对应的内容 ,利用该方式可完成sessionStorage在tab间的共享
网友评论