Отключить кэш приложений с манифестом
Я пишу приложение HTML5, которое использует "Кэш приложения с манифестом".
Однако, пока я разрабатываю, я хочу отключить его.
Я попытался удалить атрибут манифеста из тега и переключить все в сеть в файл манифеста.
Несмотря на то, что он обновился при первом обновлении, все обновления подпоследовательности по-прежнему считываются из кеша, а не из сервера.
Я вижу, что файл HTML обновлен и в теге уже нет атрибута манифеста, но он все еще загружается из кеша.
Я не могу понять, как отключить его, как только вы его установили, поэтому мой вопрос:
Есть ли способ отключить "Кэш приложения с манифестом" в Google Chrome?
Ответы
Ответ 1
В Chrome перейдите в раздел "Под капотом" → "Настройки содержимого" → "Файлы cookie" → "Показать файлы cookie и другие данные сайта", кэш приложений должен отображаться под данными сайта.
В Firefox перейдите в раздел "Дополнительно" → "Сеть", сайты с кэшами приложений указаны в поле внизу.
В настоящее время полностью невозможно полностью удалить или закрыть кеш приложения с серверной стороны. Лучшее, что вы можете сделать, это явно указать браузеру удалить все кэшированные файлы - манифест с помощью только сетевого раздела должен удалить все остальные файлы, но файл с ссылкой на манифест всегда будет кэшироваться.
- изменить
Этот ответ уже не совсем корректен. В настоящее время стандартные состояния:
Если извлечение манифеста завершилось неудачей из-за ответа 404 или 410 или эквивалент... Отметьте группу кеша как устаревшую. Эта группа кэшей больше не работает существует для любых целей, кроме обработки объектов Document уже связанный с кешем приложения в группе кеша.
То есть: удаление файла манифеста должно привести к удалению appcache при следующей попытке браузера обновить
Ответ 2
Удалите файл манифеста на компьютере разработки.
Ответ 3
Вы можете отключить кеш приложений в Chrome через ключ командной строки "--disable-application-cache" (это находится в канале dev в Chrome, используя сборку linux... но я уверен, что это то же самое в бета-стандартах и для других платформ):
google-chrome --disable-application-cache
Ответ 4
Я бы предположил, что каждый раз, когда вы меняете что-либо в своем приложении, вы должны также изменить файл манифеста, так что последняя модификация, которую вы только что сделали, будет приниматься во внимание.
Когда я говорю об изменении манифеста, вы можете просто изменить номер версии в комментарии следующим образом:
# version 1
Это более удобно, чем очищать кеш каждый раз (и в то же время потерять другую информацию для других сайтов, поэтому вам нужно снова и снова входить в систему... и т.д.)
Ответ 5
При работе с приложением с манифестом я создаю две стартовые страницы:
- index.html, содержащий информацию о манифестах
- index.dev.html, который НЕ имеет информацию о манифесте
Обычно я запускаю из index.dev.html в моей среде разработки, поэтому я могу отлаживать работу с кэшем.
После отладки кода я запускаю из файла index.html, чтобы убедиться, что файл appcache настроен правильно.
Ответ 6
Это работает для меня на настольном и мобильном Safari (также на главном экране)
Я думаю, что это может работать в других браузерах веб-браузера, таких как Chrome.
- Измените MIME-сервер на "text/cache-manifest" для всех файлов ".appcache"
- Добавить в html
<html manifest="example.appcache">