在cache.manifest刷新后重新加载应用程序

时间:2014-12-12 21:18:19

标签: jquery html5 caching manifest cache-manifest

每当我更新我的webapp时,用户必须加载该页面两次才能看到更新。 因为浏览器在应用程序加载后会下载新的更新。

有没有办法附加触发器以显示“更新应用”或其他内容,然后在完成后重新加载页面?

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://*

1 个答案:

答案 0 :(得分:2)

您可以使用提供的事件来使用javascript检测更新的清单:

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

Source

您可以使用更多事件来检测某些状态:

  • 缓存
  • 检查
  • 下载
  • 错误
  • NOUPDATE
  • 过时
  • 进步
  • UPDATEREADY

Source