Кто-нибудь испытывал проблемы с кешированием веб-приложений в полноэкранном режиме iOS / Mobile Safari? - PullRequest
12 голосов
/ 12 января 2012

У меня очень странная проблема с моим веб-приложением (которое запускается в полноэкранном режиме с домашнего экрана) и Mobile Safari. Обычно, по мере разработки, я редактирую файлы с изменениями, которые я хочу внести, а затем перезапускаю приложение с домашнего экрана. Согласно дизайну iOS, веб-приложение обновит и перезагрузит сайт.

Однако в некоторых странных, но частых ситуациях, когда я запускаю приложение, я получаю кешированную старую версию приложения. Если я перехожу к приложению через Mobile Safari (не с домашнего экрана), то все выглядит отлично.

Я добавил мета нет тегов кеша по всему пространству и даже попытался помешать кешу, добавив? Строки запроса в файлы .css и т. Д., Но по какой-то странной причине, когда кэшированная версия решает, что она хочет отобразить - она будет отображать, несмотря ни на что. Очистка кеша и данных из меню настроек, а затем повторный запуск лишь иногда решают проблему.

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

Пожалуйста, помогите - это очень раздражает и расстраивает!

Rich

Ответы [ 2 ]

6 голосов
/ 01 июня 2012

В моем собственном тестировании я также обнаружил, что приложения, запускаемые с «Домашнего экрана» на iOS, не будут правильно обновлять свои файлы CSS и JS. Это кажется постоянной проблемой. Единственное решение, которое работало для меня, было:

  • Изменить дату устройства на 2 дня или около того.
  • Перезагрузите приложение с главного экрана.
  • Сброс даты.

Я также попытался удалить и заново создать значок с домашнего экрана и очистить кэш в Safari.

«К счастью», вы не единственный, кто видит эту проблему.

https://discussions.apple.com/thread/3385843?start=90&tstart=0

Если кто-нибудь спросит. В моем тестировании не было файлов манифеста.

iPad 2 с IOS 5.1.1.

0 голосов
/ 01 марта 2012

Включите Debug console в «Настройках> Safari> продвижение» и посмотрите, нет ли там ошибок. Скорее всего, у вас может быть «недопустимый тип MIME», ошибка разбора манифеста или ошибка выборки ресурса.

Исправьте их (эта ссылка может помочь в исправлении этих http://www.fuckyeahtml5.com/2011/06/debugging-html5s-offline-web-apps/).

...