Quelle est la taille max de localStorage valeurs?
Depuis localStorage
(actuellement) prend uniquement en charge les chaînes de valeurs, et dans le but de faire que les objets doivent être stringified (stockées sous forme de JSON-chaîne) avant de pouvoir être stockée, est-il défini limitation en ce qui concerne la longueur des valeurs.
Personne ne sait si il y a une définition qui s'applique à tous les navigateurs?
- Je pense réellement répondu à la "longueur maxi pour valeur" de la question.
- Je viens de a répondu à la question.
- Tous les navigateurs: html5rocks.com/en/tutorials/offline/quota-research
Vous devez vous connecter pour publier un commentaire.
Citant le Article de wikipédia sur le Web de Stockage:
Et aussi des citations à partir d'un John Resig article [posté janvier 2007]:
per origin
peu? Si un site web foo.com a 200 utilisateurs, qu'il sera de 5 MO pour l'ensemble de ces 200 utilisateurs surfant sur cette page?domain
(origin
) peut stocker 5 MO de chaque client. Les données sont stockées sur les clients de la machine ne doit en aucune façon lalocalStorage
mécanisme d'interagir sur l'ensemble des clients.foo.com
etfoo.com/boo.html
va pointer sur le même domaine et lelocalstorage
utilisation de la combinaison de ces deux pages pour le domainefoo.com
, droit?foo.com
etfoo.com/bar.html
utiliser le même localstorage maisfoo.com
etbar.com
OUfoo.com
etbar.foo.com
auraient des différents localstorage. Bien sûr que @DanielB dit, c'est par l'utilisateur car il est stocké sur l'ordinateur du client. Vous pouvez donc avoir XMB pour Un utilisateur et XMB pour l'utilisateur B où X est le nombre de MO chaque navigateur qui vous permettra. Ne fait que répondre à votre question?http://example.com
ethttps://example.com
ne sont pas de la même origine (différents régimes).http://example.com
ethttp://www.example.com
ne sont pas de la même origine (les hôtes différents).http://example.com
ethttp://example.com:8080
ne sont pas de la même origine (différents ports). HTH. 🙂Fait de l'Opéra n'a pas de limite de 5MO. Il propose d'augmenter la limite d'applications nécessite plus de. L'utilisateur peut même choisir l'option "stockage Illimité" pour un domaine.
Vous pouvez facilement test localStorage limites ou de quotas vous-même.
UCS-2
. Alors qu'il est similaire àUFT16
il y a quelques différences très importantes... la plupart du temps tournant autour du fait que l'UCS-2 est antérieure à UFT.Voici un simple script pour trouver la limite:
Voici l'essentiel, JSFiddle et post de blog.
Le script de test de plus en plus grandes chaînes de texte jusqu'à ce que le navigateur lance et d'exception. À ce stade, il effacer les données de test et de définir une taille de clé dans localStorage le stockage de la taille en kilo-octets.
Les navigateurs mobiles:
Les navigateurs de bureau:
Lien De Référence
Trouver la longueur maximale d'une chaîne unique qui peut être stockée dans
localStorage
Cet extrait de trouver la longueur maximale d'une Chaîne de caractères qui peut être stockée dans
localStorage
par domaine.Noter que la longueur d'une chaîne de caractères est limité en JavaScript; si vous souhaitez afficher la quantité maximale de données pouvant être stockées dans
localStorage
lorsqu'il n'est pas limité à une seule chaîne, vous pouvez utiliser le code dans cette réponse.Edit: Pile Extraits ne prennent pas en charge
localStorage
, donc voici un lien vers JSFiddle.Résultats
Chrome (45.0.2454.101): 5242878 caractères
Firefox (40.0.1): 5242883 caractères
Internet Explorer (11.0.9600.18036):
16386122066122070 caractèresJ'obtiens des résultats différents sur chaque lancer dans Internet Explorer.
Ne présumez pas 5 MO est disponible - localStorage capacité varie en fonction du navigateur, avec 2,5 MO, 5 mo et illimité étant les valeurs les plus courantes.
Source: http://dev-test.nemikor.com/web-storage/support-test/
Vous ne voulez pas stringify de grands objets en un seul localStorage entrée. Ce serait très inefficace - le tout devra être analysé et ré-encodé à chaque fois qu'un léger détail des modifications. Aussi, JSON ne peut pas gérer de multiples renvois à l'intérieur d'une structure de l'objet et efface beaucoup de détails, par exemple le constructeur, non-numériques propriétés des matrices, ce qui est dans un clairsemée d'entrée, etc.
Au lieu de cela, vous pouvez utiliser Rhaboo. Il stocke des objets volumineux à l'aide de beaucoup de localStorage entrées de sorte que vous pouvez faire de petits changements rapidement. Les objets restaurés sont beaucoup plus que des copies exactes de ceux qui sont sauvés et ceux que l'API est incroyablement simple. E. g.:
BTW, je l'ai écrit.
J'aime vraiment cdmckay réponse, mais il ne regarde pas vraiment la bonne pour vérifier la taille en temps réel: il est tout simplement trop lent (2 secondes pour moi). C'est la version améliorée, qui est plus rapide et plus exact, également avec une option pour le choix de la taille de l'erreur peut être (par défaut
250,000
, la plus petite erreur est - plus le calcul est):À tester:
Cela fonctionne beaucoup plus rapide pour l'erreur standard; il peut aussi être beaucoup plus précise, lorsque cela est nécessaire.
Vous pouvez utiliser le code suivant dans les navigateurs modernes pour contrôler efficacement le quota de stockage (total & utilisé) en temps réel:
Usage (in Bytes): 647 , Total Quota (in Bytes): 32901464711
Qui est faux: la taille totale du possible, est en fait 10485762.Je suis en train de faire les suivants:
J'ai condensé binaire test dans cette fonction que j'utilise:
Il soutient en outre le contenu avant de le tester, puis les restitue.
Comment il fonctionne: Il double la taille jusqu'à ce que la limite soit atteinte ou que le test échoue. Il stocke ensuite la moitié de la distance entre le bas et le haut de la soustraction/ajoute la moitié de la moitié à chaque fois (soustraction sur l'échec et l'ajouter sur la réussite); rodage dans la bonne valeur.
upperLimit
est de 1 go par défaut, et à la limite juste à quelle distance vers le haut pour analyser de façon exponentielle avant de commencer la recherche binaire. Je doute que cela va même plus besoin d'être changé, mais je suis toujours en train de penser à l'avance. 😉Sur Chrome:
IE11, Edge, et de plus, FireFox rapport à la même taille max (10485762 octets).
localStorage.Clear()
avant et après vos testsUne fois, j'ai développé Chrome (navigateur de bureau) extension et testé Local de Stockage réel la taille max pour cette raison.
Mes résultats:
Plus de
10240 KB
utilisation me fit l'erreur: