applicationCache.status
UNCACHED=0;//未缓存
IDLE=1;//空闲状态
CHECKING=2;//检查中
DOWNLOADING=3;//下载中
UPDATEREADY=4;//更新准备中
OBSOLETE =5;//过期状态
navigator.onLine: 是否联网,断网的时候返回false,联网的时候返回true
/*
* Checking * 当user agent检查更新时,或者第一次下载manifest清单时,它往往是第一个被触发的事件
* Noupdate * 当检查到Manifest中清单文件不需要更新时,触发该事件
* Downloading * 第一次下载或更新manifest清单文件时,触发该事件
* Progress * 该事件与downloading类似,但downloading事件只触发一次。Progress事件则在清单文件下载过程中周期性触发
* Cached * 当manifest清单文件下载完毕及成功缓存后,触发该事件
* Upadateready * 此事件的含义表示缓存清单文件已经下载完毕,可通过重新加载页面读取缓存文件或者通过方法swapCache切换到新的缓存文件。常用语本地缓存跟新版本后的提示
* Obsolete * 加入访问manifest缓存文件返回HTTP404错误(页面未找到)或者410错误(永久消失)时,触发该事件
* Error * 若要达到触发该事件,需要满足一下几种情况之一:
* 1、已经触发obsolete事件
* 2、manifest文件没有改变,但缓存文件中存在文件下载失败
* 3、获取manifest资源文件时发生致命错误。
* 4、当更新本地缓存时,manifest文件再次被更改。
* */
applicationCache.addEventListener('updateready',function(){
//资源文件下载中,可以在此部分增加业务功能
if(confirm('有新数据需要更新,是否更新?')){
window.history.go(0);
}
});