Локальное хранение в хроме
У меня есть код JavaScript, который сохраняет строку в локальном хранилище, размер строки - 400000,
var dataURL = canvas.toDataURL("image/jpg").toString();
localStorage.setItem("dataURL", dataURL);
Я открываю html файл с хром, на одном компьютере его ОК на другом компьютере я получаю
Uncaught QuotaExceededError: не удалось выполнить 'setItem' on "Хранение": значение "dataURL" превысило квоту.
На этом компьютере мне удалось сохранить длину строки не более 100000 символов.
Оба компьютера имеют один и тот же хром Версия 35.0.1916.114 м
Почему?
Ответы
Ответ 1
rКогда ваш браузер достигнет максимального предела, он выкинет эту ошибку
Не удалось выполнить 'setItem' в 'Storage': установка значения '' превысила квоту.
- Вы можете справиться с этим следующим образом:
try {
var count = 100;
var message = "LocalStorageIsNOTFull";
for (var i = 0; i <= count; count + 250) {
message += message;
localStorage.setItem("stringData", message);
console.log(localStorage);
console.log(count);
}
}
catch (e) {
console.log("Local Storage is full, Please empty data");
// fires When localstorage gets full
// you can handle error here or empty the local storage
}
Ответ 2
Это зависит от предпочтений браузера и дискового пространства. Сравните браузеры двух компьютеров здесь https://arty.name/localstorage.html и проверьте, не хранят ли они то же самое. символов. Вы увидите разницу.
Ответ 3
Хром локальное хранилище по умолчанию - 25M, поэтому очистите ваше хромированное локальное хранилище. удачи!