115 votes

Portée de sessionStorage et localStorage

J'ai lu de la documentation sur sessionStorage et localStorage, mais je ne comprends pas quelle est la portée : le domaine, une page spécifique ?

Par exemple, si j'ai les pages suivantes :

http://example.com/products.aspx?productID=1

http://example.com/products.aspx?productID=2

http://example.com/services.aspx?serviceID=3

Et si sur chacune des pages ci-dessus j'exécute (avec idvalue étant la valeur dans la querystring) :

localStorage.setItem('ID',idvalue);

Est-ce que je vais me retrouver avec 3 valeurs différentes stockées, ou est-ce que les valeurs vont s'écraser les unes les autres ?

164voto

Talha Points 7596

Stockage des sessions :

  1. Les valeurs ne persistent que le temps de la fenêtre ou de l'onglet dans lequel elles sont stockées.

  2. Les valeurs ne sont visibles que dans la fenêtre ou l'onglet qui les a créées.

Stockage local :

  1. Les valeurs persistent pendant la durée de vie de la fenêtre et du navigateur.

  2. Les valeurs sont partagées entre toutes les fenêtres ou tous les onglets fonctionnant à la même origine.

Ainsi, en lisant et en comprenant ceci, chaque paire clé-valeur est unique pour chaque domaine, car le stockage local persiste les valeurs à travers la fenêtre ou l'onglet.

3 votes

Merci. Pourriez-vous partager le lien vers cette référence ?

3 votes

Le lien ci-dessus est maintenant défunt, mais il s'agit d'une autre excellente ressource : sitepoint.com/un-overview-du-stockage-web-api

1 votes

La conclusion peut être correcte, mais pas le raisonnement. Même si le stockage se faisait par page, il pourrait toujours persister à travers les fenêtres/onglets.

103voto

Rob W Points 125904

Les valeurs vont s'écraser les unes sur les autres. Chaque paire clé-nom est unique pour un protocole et un domaine, indépendamment des chemins.

Le domaine concerné peut être modifié via le document.domain propriété.

  • sub.example.com -> example.com est possible (sous-domaine)
  • sub.example.com -> other.example.com n'est pas possible

0 votes

Merci ! Auriez-vous une référence à recommander, qui explique localStorage en détail ?

2 votes

1 votes

Eh bien, même après avoir lu la page MDN, je n'arrive toujours pas à trouver la réponse à ma question... Quoi qu'il en soit, merci encore !

-5voto

Merbin Joe Points 14

Stockage des sessions : sessionStorage.setItem('key', "Value") ; => définir la valeur
sessionStorage.getItem('key') ; => récupérer la valeur
Il n'est stocké que jusqu'à ce que le navigateur soit fermé.

Stockage local : localStorage.setItem('key', "Value") ; => définir la valeur
localStorage.getItem('key') ; => obtenir la valeur
Il est stocké en permanence dans votre navigateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X