2014-12-12 3 views
1

Всякий раз, когда я обновляю свой webapp, пользователь должен дважды загрузить страницу, чтобы увидеть обновления. Поскольку браузер загружает новые обновления после того, как приложение уже загружено.Обновить приложение после обновления cache.manifest

Есть ли способ подключить триггер, чтобы показать «обновление приложения» или что-то еще, а затем перезагрузить страницу по завершении?

CACHE MANIFEST 
# Dec 12, 2014 v4 

CACHE: 
index.html 
/assets/css/main.css 
http://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic 
http://fonts.googleapis.com/css?family=Raleway:400,300,700 
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 
/assets/js/all.js?v=2 

NETWORK: 
* 
HTTP://* 

ответ

2

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

function onUpdateReady() { 
    window.location.reload(); 
} 
window.applicationCache.addEventListener('updateready', onUpdateReady); 
if(window.applicationCache.status === window.applicationCache.UPDATEREADY) { 
    onUpdateReady(); 
} 

Source

Есть несколько событий, которые можно использовать для обнаружения определенных состояний:

  • cached
  • проверка нг
  • загрузки
  • ошибка
  • noupdate
  • устаревшее
  • прогресс
  • updateready

Source

Смежные вопросы