(Мобильные) ресурсы загрузки Safari, несмотря на манифест кэша

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

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

Из журналов сервера я замечаю, что, хотя все ресурсы (изображения, таблицы стилей, файлы javascript) в манифесте запрашиваются при загрузке страницы входа в систему, после того, как пользователь вошел в систему, и перенаправлены, скажем, /workspace/Safari (как настольный, так и мобильный) запрашивает таблицы стилей и файлы javascript, перечисленные в /workspace/ опять же, в результате чего HTTP 304 с сервера.

В то время как нагрузка в обслуживании 304 минимально, я хотел бы знать, есть ли способ избежать этого. Я тестировал тот же код в Chrome (dev channel), и Chrome только запрашивает манифест кэша после входа в систему, и все.

Буду признателен за любые мысли! Заранее спасибо!

2 ответа

В моем автономном приложении я заметил, что главная страница (та, на которой есть тег манифеста) также должна быть в файле манифеста (только в iPhone iOS начиная с 4.3), чтобы поддерживать запуск в режиме "Авиакомпания / офлайн". Возможно, это как-то связано с вашей проблемой.

У меня была проблема с автономным режимом в iOS 4.3 (прочитайте это для получения дополнительной информации в выпуске 4.3 http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_web_apps_on_home_screen/), однако, когда я обновился до 4.3.2 это снова сработало.

Я обнаружил интересную ситуацию с iOS 4.3.3. У меня есть автономное приложение HTML5, которое работало в iOS 4.2 на iPad. Но я обновил свой iPad до iOS 4.3.1, он больше не может работать в автономном режиме с домашнего экрана. Однако, когда я увидел, что "user593037" говорит, что он работает на iOS 4.3.2, я снова обновил свой iPad и сегодня, на iOS 4.3.3.

Первоначально мое автономное приложение все еще не работало в автономном режиме. Поэтому я вернулся на основную автономную веб-страницу MOST и использовал "cache.manifest" в качестве имени файла манифеста, с которым он работал. Таким образом, кажется, что в iOS 4.3.3 автономное кэширование будет работать только в том случае, если это имя файла используется для манифеста кэша. Я даже попытался с именем файла cache2.manifest, и он не сможет работать в автономном режиме.

И вы также можете запустить его в полноэкранном режиме, если для параметра "apple-mobile-web-app-enabled" установлено значение "да".

Другие вопросы по тегам