Автономное приложение манифеста кэша не обновляет файлы JavaScript в Chrome - PullRequest
9 голосов
/ 03 мая 2011

Я работаю над автономным веб-приложением, используя файл манифеста кэша.У меня проблемы с обновлением файлов JavaScript.Если я изменяю файл .js (который указан в файле манифеста) и затем меняю версию файла манифеста №и сохраните его, тогда измененный файл .js не будет перезагружен на клиенте.Что мне нужно сделать, чтобы обновить файлы .js?

Спасибо

Ответы [ 5 ]

12 голосов
/ 27 мая 2011

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

Для получения дополнительной информации 1004 * *

Если вы хотите очистить свойКеш приложения в Chrome использует chrome: // appcache-internals /, и вручную вы должны искать в C: \ Documents and Settings \ YOURUSERNAME \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default \ Cache

4 голосов
/ 21 апреля 2012

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

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

3 голосов
/ 18 февраля 2015

Введите chrome://appcache-internals в адресной строке, затем нажмите ENTER

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

Надеюсь, это поможет:)

1 голос
/ 30 октября 2013

У меня была такая же проблема, пока я не наткнулся на это бесценное предупреждение на сайте разработчика Mozilla

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

woops.моя вина.

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

0 голосов
/ 13 апреля 2016

В моем случае я должен отключить традиционный кеш браузера, используя метатеги.См. этот ТАК вопрос как к этому

...