Можно ли очистить веб-приложение в Chrome? - PullRequest
52 голосов
/ 26 мая 2010

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

Есть ли способ полностью удалить веб-приложение из Chrome? Очистка кэша браузера не работает.

Я использую Chrome 5.0.375.55 на Mac.

Любая помощь получена с благодарностью.

Ответы [ 4 ]

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

Добавление параметра get, такого как ?foo=12345, будет обрабатывать ваш файл как другой и, следовательно, повторно его записывать, но НЕ очищать кэш для существующего файла.

Тип:

chrome://appcache-internals/

и тебе повезет:)

2 голосов
/ 26 мая 2010

У Apple есть действительно хорошая документация по этому вопросу, это немного сложно начать, но делает весь процесс манифеста более прозрачным. Кроме того, я считаю, что Safari (особенно Mobile Safari) показывает эти ответы на события более последовательно, чем Firefox; не уверен насчет Chrome, хотя он должен быть очень близок к Safari.

Корень вашего вопроса, хотя:

  1. Очистить манифест или добавить / удалить файл в манифест
  2. загрузить приложение
  3. повторно добавить манифест
  4. Перезагрузите приложение. Это грязный способ, но я рекомендую потратить время на чтение и реализацию JS, чтобы вы могли убедиться, что манифест обновляется.

У Google есть хороший пост здесь .

По сути, вы можете создать серию if else тестов с помощью window.applicationCache.status для четкого представления о том, что делает система.

от Apple:

Например, вы получаете объект DOMApplicationCache следующим образом:

cache = window.applicationCache;

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

if (window.applicationCache.status == window.applicationCache.UPDATEREADY)...

Если кэш приложения находится в состоянии UPDATEREADY, вы можете обновить его, отправив сообщение update () следующим образом:

window.applicationCache.update();

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

window.applicationCache.swapCache();
2 голосов
/ 26 мая 2010

Это также кэшированная сторона сервера? Попробуйте добавить параметр get, например? Foo = 12345, в URL и посмотрите, получите ли вы обновленный файл.

0 голосов
/ 11 января 2014

Нет (насколько я знаю)

Кажется, что люди хотят, чтобы спрашивающий принял ответ, но никто не ответил на вопрос. Я не эксперт, но я много искал, и я думаю, что «Нет» правильно и отвечает на поставленный вопрос.

...