/ / Greasemonkey Storage - javascript, greasemonkey

Greasemonkey Storage - javascript, greasemonkey

Y at-il une limite à la quantité de données pouvant être stockée à l’aide de GM_setValue?

Réponses:

4 pour la réponse № 1

GM le stocke dans des propriétés. Ouvrez about: config et cherchez-les.

Selon http://diveintogreasemonkey.org/api/gm_getvalue.html, vous pouvez les trouver dans le greasemonkey.scriptvals branche.

Ce sqlite info sur ses limites montre quelques limites par défaut pour les chaînes et les blobs, mais elles peuvent être modifiées par Firefox.


4 pour la réponse № 2

Plus d'informations sont dans le Wiki Greasespot:

Le magasin de préférences de Firefox n’est pas conçu pourstocker de grandes quantités de données. Il n'y a pas de limites strictes, mais de très grandes quantités de données peuvent amener Firefox à utiliser plus de mémoire et / ou à s'exécuter plus lentement.2

Le lien renvoie à une discussion dans la Liste de diffusion Greasemonkey. Anthony Lieuallen répond à la même question que vous avez posté:

Je viens de tester cela. Courir jusqu'à une chaîne de 32 mégaoctets semble fonctionner sans problèmes majeurs, mais 64 ou 128 commence à thrash le disque pour mémoire virtuelle un accord équitable.


0 pour la réponse № 3

Selon le site que vous avez fourni, "Le valeur argument peut être une chaîne, un booléen ou un entier. "

De toute évidence, une chaîne peut contenir beaucoup plus d'informations qu'un entier ou un booléen.

Les scripts GreaseMonkey étant en JavaScript, laLa longueur maximale d'une valeur GM_set est la longueur maximale d'une chaîne JavaScript. En fait, le moteur JavaScript (spécifique au navigateur) détermine la longueur maximale d’une chaîne.

Je ne connais pas de détails, mais vous pouvez écrire un script pour déterminer la longueur maximale.

Continuez à doubler la longueur jusqu'à ce que vous obteniez une erreur. Ensuite, essayez une valeur à mi-chemin entre maxGoodLen et minBadLen jusqu'à ce que maxGoodLen = maxBadLen - 1.