ApplicationCache主要简单介绍:
applicationCache对象实现HTML5相应WEB离线功能。以下我们来主要解说applicationCache对象的一些主要功能和方法
applicationCache对象记录着本地缓存的各种状态及事件。缓存的状态能够通过window.applicationCache.status获得,其状态
主要包含例如以下6种:
<span style="font-family:Microsoft YaHei;font-size:12px;">interface ApplicationCache:EventTarget{ const unsigned short UNCACHED=0;//未缓存 const unsigned short IDLE=1;//空暇状态 const unsigned short CHECKING=2;//检查中 const unsigned short DOWNLOADING=3;//下载中 const unsigned short UPDATEREADY=4;//更新准备中 const unsigned short OBSOLETE =5;//过期状态 readonly attribute unsigned short status; }</span>
applicationCache缓存对象的事件例如以下表所看到的:
事件名称 |
说明 |
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对象的状态处理相关业务。
例如以下代码所看到的:
<span style="font-family:Microsoft YaHei;">applicationCache.addEventListener('updateready',function(){ //资源文件下载中,能够在此部分添加业务功能 });</span>
接下来值得注意的是,在平时的开发过程中,在使用applicationCache本地缓存的同一时候,往往须要推断当前浏览器的状态(在线或离线)。HTML5正好提供了一个属性,用于推断当前浏览器是否在线,代码例如以下:
windowz.navigator.onLine
假设返回ture,则说明当前浏览器online,返回false则说明当前浏览器offline
时间: 2024-10-13 01:01:41