Я уже некоторое время использую автономное кэширование HTML5 на своем веб-сайте, и по некоторым причинам я рассматриваю возможность его отключения. К моему удивлению, это не работает.
Вот как я реализовал автономное кэширование HTML5.
В моем index.html
я даю путь к файлу манифеста
<html manifest="app.manifest">
В файле app.manifest я перечисляю все файлы js / css / png, которые я хотел бы кэшировать браузером для автономного использования. Каждый раз при развертывании обновлений я обновляю файл app.manifest, в результате чего браузер извлекает последнюю версию всех файлов, перечисленных в файле манифеста.
Чтобы отключить автономное кэширование, я изменил открывающий тег моего index.html на
<html>
Я сделал фиктивное изменение в файле app.manifest, чтобы браузер (который уже кэшировал мой веб-сайт) обнаружил изменение и загрузил последнюю версию всех файлов (включая index.html).
Что я заметил, так это то, что браузер действительно получает последнюю версию всех файлов. Я вижу новый тег <html>
в обновленной версии без объявления манифеста, однако поведение браузера для будущих изменений не меняется. то есть теперь я ожидаю, что браузер немедленно загрузит новую версию файла index.html, когда он будет изменен на сервере. Однако этого не происходит. Браузер не загружает обновленный index.html, пока я не внесу какие-либо изменения в файл манифеста.
Таким образом, мне кажется, что браузер постоянно связывает файл app.manifest с URL-адресом моего веб-сайта и от него не избавится, даже если я не упомяну его в теге <html>
.
Я проверял это на Google Chrome и Firefox, одинаковые результаты. Я также попытался перезапустить Chrome, но не забуду, что для моего сайта был определен app.manifest. Я не нашел обсуждения этого аспекта автономного кэширования в Интернете.
Обновление : мне удалось избавиться от поведения в Chrome, очистив все данные просмотра (перейдя в настройки). Но это не то, что я могу сказать пользователям.