Czy istnieje ograniczenie dotyczące ilości danych przechowywanych za pomocą GM_setValue?Greasemonkey Storage
Odpowiedz
GM przechowuje to we właściwościach. Otwórz o: config i poszukaj ich.
Zgodnie z http://diveintogreasemonkey.org/api/gm_getvalue.html można je znaleźć w oddziale greasemonkey.scriptvals
.
Ten sqlite info on its limits pokazuje niektóre domyślne ograniczenia dla ciągów i obiektów blob, ale mogą one zostać zmienione przez Firefox.
Zgodnie z podaną witryną "Argument o wartości może być łańcuchem, wartością logiczną lub liczbą całkowitą."
Oczywiście ciąg może pomieścić znacznie więcej informacji niż liczba całkowita lub boolowska.
Skoro skrypty GreaseMonkey są JavaScript, maksymalna długość parametru GM_setValue to maksymalna długość ciągu JavaScript. W rzeczywistości silnik JavaScript (specyficzny dla przeglądarki) określa maksymalną długość ciągu znaków.
Nie znam żadnych szczegółów, ale można napisać skrypt, aby określić maksymalną długość.
Zachowaj podwojenie długości, dopóki nie pojawi się błąd. Następnie spróbuj połowy wartości pomiędzy maxGoodLen i minBadLen aż maxGoodLen = maxBadLen - 1.
Więcej informacji znajduje się w Greasespot Wiki:
Preferencja sklep Firefox nie jest przeznaczony do przechowywania dużych ilości danych. Nie ma sztywnych limitów, ale bardzo duże ilości danych mogą spowodować, że Firefox będzie zużywał więcej pamięci i/lub wolniej. 2
Link odnosi się do dyskusji w Greasemonkey Mailinglist. Anthony Lieuallen odpowiada na to samo pytanie, co Ty:
Właśnie to przetestowałem. Wydaje się, że praca z 32-megowym łańcuchem działa bez większych problemów, ale 64 lub 128 zaczyna dyskretnie zapisywać dysk dla pamięci wirtualnej .