Отключить кэш приложений с помощью манифеста - PullRequest
12 голосов
/ 28 января 2011

Я пишу приложение HTML5, которое использует «Кэш приложения с манифестом».

Однако, пока я занимаюсь разработкой, я хочу отключить его.

Я попытался удалить манифестатрибут из тега и переключение всего в сеть в файле манифеста.

Несмотря на обновление при первом обновлении, все обновления подпоследовательности по-прежнему считываются из кэша, а не с сервера.

IЯ вижу, что файл HTML обновлен, и в теге больше нет атрибута manifest, но он все еще загружается из кэша.

Кажется, я не могу понять, как отключить его после того, как вы 'задайте его, вот мой вопрос:

Есть ли способ отключить «Кэш приложения с манифестом» в Google Chrome?

Ответы [ 6 ]

21 голосов
/ 28 января 2011

В Chrome перейдите в раздел «Под капотом» -> «Настройки содержимого» -> «Файлы cookie» -> «Показать файлы cookie и другие данные сайта», кэш приложений должен отображаться под данными сайта.

В Firefox перейдите в Advanced -> Network, сайты с кешами приложений перечислены в поле внизу.

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

- редактирование

Этот ответ больше не является полностью правильным. В настоящее время стандартные состояния :

Если загрузка манифеста не удалась из-за ответа 404 или 410 или эквивалентно ... Отметить группу кеша как устаревшую. Эта группа кеша больше не существует для любых целей, кроме обработки объектов Document уже связан с кешем приложения в группе кеша.

То есть: удаление файла манифеста должно привести к удалению кэша приложения при следующей попытке браузера обновить

3 голосов
/ 03 марта 2011

Удалите файл манифеста на компьютере разработчика.

1 голос
/ 07 марта 2011

Вы можете отключить кэш приложения в Chrome с помощью переключателя командной строки «--disable-application-cache» (это в dev-канале Chrome, используя сборку Linux) ... но я уверен, что этото же самое в бета / стандартных каналах и для других платформ):

google-chrome --disable-application-cache
0 голосов

Это работает для меня в настольных и мобильных Safari (также на главном экране) Я думаю, что это может работать в других браузерах, таких как Chrome.

  1. Измените MIME сервера на "text / cache-manifest" для всех файлов ".appcache"
  2. Добавить в HTML

<html manifest="example.appcache">
  1. Используйте этот файл "example.appcache"

CACHE MANIFEST
# 2016-01-07:v1.0.4

# This is the default section for entries. Files listed under this header (or immediately after the CACHE MANIFEST) will be explicitly cached after they're downloaded for the first time.
CACHE:


# Files listed in this section may come from the network if they aren't in the cache, otherwise the network isn't used, even if the user is online. You can white-list specific URLs here, or simply "*", which allows all URLs. Most sites need "*".
NETWORK:
*

# An optional section specifying fallback pages if a resource is inaccessible. The first URI is the resource, the second is the fallback used if the network request fails or errors. Both URIs must from the same origin as the manifest file. You can capture specific URLs but also URL prefixes. "images/large/" will capture failures from URLs such as "images/large/whatever/img.jpg".
FALLBACK:
0 голосов
/ 25 сентября 2016

При работе с приложением с манифестом я создаю две стартовые страницы: - index.html, в который включена информация о манифесте, - index.dev.html, в котором НЕ содержится информация о манифесте

Я обычно запускаюиз index.dev.html в моей среде разработки, так что я могу отлаживать, когда мешает кеш.После того, как код отлажен, я запускаю файл index.html, чтобы убедиться, что файл appcache настроен правильно.

0 голосов
/ 28 января 2011

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

Когда я говорю, измените манифестВы можете просто изменить номер версии в комментарии следующим образом:

# version 1

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

...