Je suivais this here pour voir si je pouvais activer les mises à jour sur toutes les pages Web ouvertes de mon site si quelqu'un avait plusieurs onglets ouverts.sessionStorage les modifications ne déclenchent pas l'événement 'storage'
Fondamentalement, je mets l'auditeur et vérifier pour voir si le « panier » clé a été changé
window.addEventListener('storage', function(e) {
if (e.key === "cart") {
console.log(`cart changed: ${e.newValue}`);
}
});
Quand je change localStorage.cart d'un autre onglet sur le même site, l'événement se déclenche très bien dans le premier onglet:
setInterval(function(){
localStorage.cart = "localStorage 1";
setTimeout(function(){
localStorage.cart = "localStorage 2";
},2000);
},4000);
Mais quand je l'utilise sessionStorage au lieu de localStorage il n'a pas:
setInterval(function(){
sessionStorage.cart = "sessionStorage 1";
setTimeout(function(){
sessionStorage.cart = "sessionStorage 2";
},2000);
},4000);
L'événement 'storage' se déclenche-t-il uniquement pour localStorage et non pour sessionStorage?
Testé sur le chrome uniquement.
Je pense que vous avez mal compris mon message. Je sais que l'événement est déclenché dans Windows * autre que * celui où le stockage a été changé. Ce n'est pas en question ici. Ce qui est déroutant, c'est que l'événement se déclenche uniquement pour les changements de localStorage, pas pour les changements sessionStorage – TKoL
Désolé pour le malentendu. J'ai mis à jour ma réponse – kemotoe