Как использовать сетевую версию, когда она доступна с манифестом HTML5 - PullRequest
0 голосов
/ 27 июня 2011

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

Ответы [ 3 ]

0 голосов
/ 27 июня 2011

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

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

(Конечно, вы можете использовать директиву NETWORKв манифесте кеша заставить пользовательский агент всегда заходить на сервер за определенными ресурсами, но, как вы подразумеваете, эти страницы не будут доступны в автономном режиме).

Так что у вас нетобязательно сделать недействительным файл кэша, но вам нужно убедиться, что он запускает обновление и замену кэша.

0 голосов
/ 28 июня 2011

Решение, которое я нашел, состояло в том, чтобы гарантировать, что страницы, которые я кэширую в манифесте, не содержат никакого динамически сгенерированного контента.В режиме онлайн мой код JavaScript выполняет запрос Ajax для извлечения динамически сгенерированного контента.JavaScript обнаруживает, когда браузер отключен, и отказывается выполнять запросы Ajax, по сути переходя в автономный режим.

0 голосов
/ 27 июня 2011

Добавьте это в шапку:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
...