Браузер iPhone прекращает загрузку ресурсов в кэш HTML5, когда пользователь перемещается в процессе - PullRequest
0 голосов
/ 22 апреля 2011

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

В Chrome, когда пользователь переходит на другой URL-адрес (все еще в моем приложении, которое также ссылается на файл манифеста кэша), он продолжает загружать файлы в кэш.

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

Я что-то не так делаю? Или же пользователю действительно приходится ждать на той же странице, пока все ресурсы не будут кэшированы (в противном случае кэш нарушен). Похоже, что в реализации есть ошибка, но, может быть, у кого-то есть опыт с этой проблемой?

1 Ответ

1 голос
/ 23 апреля 2011

Есть ли шанс, что вы сможете опубликовать содержимое манифеста кеша?Первое, что я проверю, это то, что (а) соответствующие страницы перечислены там, (б) страницы, на которые вы переходите, имеют атрибуты manifest, указывающие на файл кэша, и (в) что у вас есть тип документа HTML5 для каждогостр.

Вы также можете попытаться принудительно обновить кэш программно:

Руководство по программированию хранилища и автономных приложений Safari на стороне клиента: обновление кэша

...