关于应用缓存appcache

Appcache就是从浏览器缓存中分出来的一块缓存区。要想在这个缓存中保存数据,可以使用一个描述文件(manifest file)列出要缓存和下载的资源

例如:

CACHE MANIFEST

#Coment

file.js

file.css

更多有关描述文件的内容请参见:http://html5doctor.com/go-offline-with-application-cache

要将描述文件与页面关联起来,可以在<html>中的manifest属性中指定这个文件的路径

<html manifest = "/offline.manifest">

以上代码告诉页面,/offline.manifest中包含着描述文件,这个文件的mime类型必须是text/cache-manifest

JavascriptAPI让你知道她都在做什么,这个API的核心是applicationCache对象,这个对象有一个status属性,属性的值是常量,表示应用缓存的如下当前状态:

0:无缓存,既没有与页面相关的应用缓存

1:闲置,即应用缓存未得到更新

2.:检查中,即正在下载描述文件并检查更新

3:下载中,即应用缓存正在下载描述文件中指定的资源

4:更新完成,即应用缓存已经更新了资源,而且所有资源都已下载完毕,可以通过swapCache()来使用了

5:废弃,即应用缓存的描述文件已经不存在了,因此页面无法再访问应用缓存

应用缓存还有很多相关的事件,表示其状态改变。

checking:在浏览器为应用缓存查找更新时触发

error:在检查更新或下载资源期间发生错误时触发

noupdate:在检查描述文件发现文件无变化时触发

downloading:在开始下载应用缓存资源时触发

progress:在文件下载应用缓存的过程中持续触发

updateready:在页面新的应用缓存下载完毕且可以通过swapCache()时触发

cached:在应用缓存完整可用时触发

一般来讲,这些事件会随着页面加载按上述顺序依次触发。不过,通过调用update()方法也可以手工干预

applicationCache.update();

update()一经调用,应用缓存就会去检查描述文件是否更新(触发checking事件),然后就像页面刚刚加载一样,继续执行后续操作。如果触发了cached,就说明应用缓存已经准备就绪,不会再发生其他操作了。

猜你喜欢

转载自blog.csdn.net/Milan_KunderLa/article/details/81094776