1
我跟隨this here查看是否可以在我的網站的所有打開的網頁上啓用更新,如果某人打開了多個選項卡。sessionStorage更改不會觸發'存儲'事件
基本上,我設置的監聽器和檢查,看看是否「車」鍵改爲
window.addEventListener('storage', function(e) {
if (e.key === "cart") {
console.log(`cart changed: ${e.newValue}`);
}
});
當我從另一個選項卡在同一網站上更改localStorage.cart觸發該事件只是在罰款第一個選項卡:
setInterval(function(){
localStorage.cart = "localStorage 1";
setTimeout(function(){
localStorage.cart = "localStorage 2";
},2000);
},4000);
但是當我使用的,而不是localStorage的sessionStorage的它並不:
setInterval(function(){
sessionStorage.cart = "sessionStorage 1";
setTimeout(function(){
sessionStorage.cart = "sessionStorage 2";
},2000);
},4000);
'storage'事件是否只針對localStorage而不是sessionStorage觸發?
僅在鉻上進行測試。
我想你誤解了我的帖子。我知道事件是在Windows *以外的存儲器被更改的地方觸發的。這裏沒有問題。令人困惑的是,該事件僅針對localStorage更改觸發,而不是sessionStorage更改 – TKoL
抱歉誤會。我更新了我的答案 – kemotoe