Кто-нибудь еще получает QUOTA_EXCEEDED_ERR на свой iPad при доступе к localStorage? - PullRequest
25 голосов
/ 09 апреля 2010

У меня есть веб-приложение, написанное на JavaScript, которое успешно работает на рабочем столе через Safari, а также на iPhone.

Мы смотрим на портирование этого приложения на iPad и столкнулись с проблемой, когда мы видим QUOTA_EXCEEDED_ERR при хранении относительно небольшого количества данных в localStorage на устройстве. Я знаю, что означает эта ошибка, но я не думаю, что храню столько данных.

Кто-нибудь еще делает что-то подобное? И видеть / не видеть эту проблему?

Кевин ...

Ответы [ 5 ]

31 голосов
/ 11 апреля 2010

У меня была такая же проблема, и похоже, что удаление ключа перед установкой решило ее.

function setkey(key, val){
  sessionStorage.removeItem(key);
  sessionStorage.setItem(key, val);
}
7 голосов
/ 19 ноября 2011

это не ошибка, пользователь может зайти в настройки там iphone и затем выбрать сафари. есть возможность установить приватный просмотр. по умолчанию включено, поэтому хранилище работает, но некоторые отключают его. поэтому вы должны создать в своем приложении сообщение с темой, чтобы включить его.

3 голосов
/ 17 марта 2011

Если вы используете способ удаления данных из хранилища до его установки - это будет очень медленно в некоторых браузерах. Удаление данных происходит в 1,5 раза медленнее, чем их установка (строки около 50 знаков). Пробовал на FF 3.6 (Ubuntu) - браузер работает очень медленно с SqlLite. Так что делайте этот хак только для устройств iPad.

2 голосов
/ 09 февраля 2011

У меня была та же проблема на моем iPad под управлением ОС версии 3. что-то (извините, могу вспомнить точную версию). Я обновил ОС до 4.2.1 и проблема решена!

Кажется, это была ошибка в реализации Apple localalstorage, которая с тех пор была исправлена.

2 голосов
/ 10 апреля 2010

Эй, у меня та же проблема. Я попробовал мое приложение на iPad, и оно выплевывало эту ошибку. Единственный способ скопировать его в браузере Safari - перевести мой компьютер в приватный режим ...

Я думаю, что в любое время в приватном режиме localStorage становится доступным только для чтения. Так что у меня до сих пор нет решения, но если оно поможет, я бы с удовольствием его услышал.

...