web-dev-qa-db-fra.com

Portée de la 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=

Et si je lance sur chacune des pages ci-dessus (idvalue étant la valeur de la chaîne de requête):

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 se remplacer?

95
Christophe

Les valeurs vont se remplacer. Chaque paire nom-clé est unique pour un protocole et un domaine, quels que soient les chemins.

Le domaine affecté peut être changé 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
81
Rob W

Stockage de session:

  1. Les valeurs ne persistent que tant que la fenêtre ou 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 la durée de vie de la fenêtre et du navigateur.

  2. Les valeurs sont partagées dans toutes les fenêtres ou tous les onglets exécutés sur la même origine.

Ainsi, en lisant et en comprenant cela, chaque paire clé-valeur est unique pour chaque domaine, car le stockage local conserve les valeurs dans la fenêtre ou l’onglet.

138
Talha