L'objet HTML5 localStorage est-il isolé par page / domaine? Je me demande comment je nommerais les clés localStorage. Ai-je besoin d'un préfixe distinct? Ou puis-je les nommer comme je veux?
javascript
html
local-storage
Nathan Moos
la source
la source
Réponses:
C'est par domaine et par port (les mêmes règles de ségrégation que la même politique d'origine ), pour le rendre par page, vous devez utiliser une clé basée sur la
location
, ou une autre approche.Vous n'avez pas besoin d' un préfixe, utilisez-en un si vous en avez besoin. En outre, oui, vous pouvez les nommer comme vous le souhaitez.
la source
protocol://host:port
combinaison.Les magasins sont par origine , où «origine» est la même que pour la même politique d'origine (une combinaison de schéma [
http
vs.https
, etc.], de port et d'hôte). De la spécification :Ainsi, le stockage pour
http://a.example.com
et le stockage pourhttp://b.example.com
sont séparés (et ils sont tous deux séparés dehttp://example.com
) car ce sont tous des hôtes différents. De même,http://example.com:80
ethttp://example.com:8080
ethttps://example.com
sont tous des origines différentes.Il n'y a pas de mécanisme intégré au stockage Web permettant à une origine d'accéder au stockage d'une autre.
Notez que c'est l' origine , pas l'URL, donc
http://example.com/page1
et leshttp://example.com/page2
deux ont accès au stockage pourhttp://example.com
.la source
Oui, chaque domaine / sous-domaine a un localStorage différent et vous pouvez appeler les clés comme vous le souhaitez (le préfixe n'est pas requis).
Pour obtenir une clé, vous pouvez utiliser la clé de méthode (index) telle que
Il y avait un objet appelé globalStorage avant où vous pouviez avoir plusieurs localStorages, mais il est obsolète par rapport aux spécifications
la source
Comme d'autres l'ont souligné, localStorage est unique par protocole, hôte et port. Si vous voulez un moyen pratique de contrôler votre stockage avec des clés préfixées, je suggère localDataStorage .
Non seulement il aide à renforcer le stockage partagé segmenté dans le même domaine en préfixant les clés, mais il stocke également de manière transparente les types de données javascript (tableau, booléen, date, flottant, entier, chaîne et objet), fournit une obfuscation légère des données, compresse automatiquement les chaînes et facilite la requête par clé (nom) ainsi que la requête par valeur (clé).
[DISCLAIMER] Je suis l'auteur de l'utilitaire [/ DISCLAIMER]
Exemples:
Comme vous pouvez le voir, les valeurs primitives sont respectées et vous pouvez créer plusieurs instances pour contrôler votre stockage.
la source
Il est disponible n'importe où sur ce domaine comme Nick l'a suggéré, comme alternative, sessionStorage fonctionne légèrement différemment en ce sens qu'il est distinct de la fenêtre du navigateur elle-même. C'est-à-dire que les autres onglets ou fenêtres du même domaine n'ont pas accès à cette même copie de l'objet de stockage.
la source