Il n'est pas souhaitable de regrouper des objets volumineux dans une seule entrée localStorage. Ce serait très inefficace : il faudrait analyser et ré-encoder l'ensemble à chaque fois qu'un petit détail change. De plus, JSON ne peut pas gérer les références croisées multiples au sein d'une structure d'objet et efface de nombreux détails, par exemple le constructeur, les propriétés non numériques des tableaux, le contenu d'une entrée éparse, etc.
Au lieu de cela, vous pouvez utiliser Rhaboo . Il stocke les objets de grande taille en utilisant de nombreuses entrées localStorage afin que vous puissiez effectuer rapidement de petites modifications. Les objets restaurés sont des copies beaucoup plus précises des objets sauvegardés et l'API est incroyablement simple. Par exemple :
var store = Rhaboo.persistent('Some name');
store.write('count', store.count ? store.count+1 : 1);
store.write('somethingfancy', {
one: ['man', 'went'],
2: 'mow',
went: [ 2, { mow: ['a', 'meadow' ] }, {} ]
});
store.somethingfancy.went[1].mow.write(1, 'lawn');
BTW, je l'ai écrit.
27 votes
Je pense que personne n'a vraiment répondu à la question de la "longueur maximale par valeur".
2 votes
@PeteAlvin Je viens juste a répondu à la question .
6 votes
Tous les navigateurs : html5rocks.com/fr/tutorials/offline/quota-research
2 votes
@PeteAlvin Quelqu'un a répondu en 2015. Les autres réponses concernent la limite de la taille totale, mais pas la limite de la taille. par valeur .