Откат кеша HTML5 - PullRequest
       1

Откат кеша HTML5

2 голосов
/ 18 ноября 2011

Я экспериментирую с кэшированием HTML5 и наткнулся на проблему.

CACHE MANIFEST

/Default.aspx
/Offline.aspx
/js/jquery-1.6.4.min.js
/js/jquery.mobile-1.0rc2.min.js
/css/jquery.mobile-1.0rc2.min.css
/css/images/ajax-loader.png
/css/images/icons-18-white.png

FALLBACK:
/ Offline.aspx

NETWORK:
*

Итак, моей начальной страницей является Default.aspx, когда устройство отключается, оно должно перенаправляться в /Offline.aspx, но ононе делает.Теперь я могу понять только то, что /Default.aspx кэшируетсяТеперь допустим, что я удалил /Default.aspx из манифеста. Он все равно будет кэширован, поскольку он ссылается на манифест в теге HTML.

Я прочитал десятки страниц, касающихся кэширования html, но не могу найтиответ.Любой совет был бы великолепен!

Спасибо

1 Ответ

0 голосов
/ 27 апреля 2012

Да, это поведение, которое вы должны ожидать, потому что если страница, ссылающаяся на манифест, не объявлена ​​в самом манифесте (явном), она будет неявно рассматриваться как часть "главной" страницы манифеста - и от эта точка вперед будет кэшироваться и не обновляться, пока не изменится манифест.

Это было не совсем понятно и для меня, пока я не испытал то же поведение (в приложении, к которому я добавлял офлайн-возможности) и копался в спецификации, чтобы лучше понять наблюдаемое поведение.

Мое решение для этого состояло в том, чтобы превратить динамические части этой страницы в отдельные вызовы Ajax, чтобы, хотя страница была кэширована (неявно или явно), ее части, которые обновлялись, продолжали обновляться через (не кэшированные) Аякс звонит. Однако вы захотите создать резервные записи для указанных вызовов Ajax, если хотите, чтобы они работали хорошо в автономном режиме (или обрабатывали возникающие ошибки Ajax, если нет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...