Подтвердить что ты не робот

Является localStorage на iPad Safari, гарантированно сохраняющимся?

Я видел разницу во мнениях по всему миру. Было сказано, что начиная с iOS 5.1 локальное хранилище данных для контента HTML5 на iPad больше не гарантируется настойчивым, однако на текущих страницах разработчиков Safari на Apple (https://developer.apple.com/technologies/safari/html5.html), гарантируется автономное сохранение.

Есть ли у кого-нибудь недавний опыт работы с этой темой и можно прокомментировать, насколько надежны функции базы данных HTML5 с Safari на iPad?

4b9b3361

Ответ 1

Это, вероятно, будет достаточно информации:

Спецификация w3c localStorage:

Второй механизм хранения (note: localStorage) предназначен для хранения, который охватывает несколько окон, а длится за пределами текущего сеанса. В частности, веб-приложения могут пожелать сохранить мегабайты пользовательских данных, таких как все созданные пользователем документы или почтовый ящик пользователя, на стороне клиента по соображениям производительности.

И на странице Apple:

Safari поддерживает новейшие функции хранения данных HTML5. Ваше приложение может хранить свою информацию на локальном компьютере с помощью простого хранилища данных на основе ключа/значения или надежной базы данных SQL. Данные хранятся локально и сохраняются при запуске Safari, поэтому вашему приложению не требуется сетевое подключение для доступа к данным, улучшая время запуска и общую производительность.

И поиск в Google (и Yahoo! из-за некоторых уродцев из-за google) дает мне:

В iOS 5.1 Apple переместило местоположение файлов localStorage в папку Caches , которая периодически подвергается очистке, по просьбе ОС, обычно, если пространство короткий. Вероятно, Apple сделала это, чтобы остановить localStorage, поддерживаемую iCloud.

localStorage недоступен в IOS-6 Safari

Я не могу получить доступ к localStorage в Safari (IPad с IOS-6). Например, следующий код отлично работает в Windows во всех браузерах и на (iPad с iOS-5), но не в iOS-6: localStorage.setItem( "вар", "5" ); Оповещение (localStorage.getItem( "вар" ));

Ответ:

Я смог решить проблему с помощью отключения частного просмотра на iPad. Я нашел решение по ссылке: https://github.com/cloudhead/less.js/issues/312#issuecomment-2994845

Ответ 2

Да, Apple очищает локальный ресурс, когда устройство находится на низком уровне хранения. (Я действительно протестировал это и подтвердил это с уверенностью).