[转]HTML5离线存储和本地缓存

来源:互联网 发布:多机器人路径规划算法 编辑:程序博客网 时间:2024/05/22 01:49

感谢原文

一.离线存储

有一个web应用有三个文件index.html,a.js,b.css,现在需要把js和css文件缓存起来

1.在index.html里加上

2.manifest清单格式如下

CACHE MANIFEST#上面一句必须#v1.0.0#需要缓存的文件CACHE:a.jsb.css#不需要缓存的文件NETWORK:*#无法访问页面FALLBACK:404.html

3.manifest文件的mime-type必须是 text/cache-manifest类型

注意点:

  1.对于每个index.html?id=1或index.html?id=2都会分别缓存index.html页面,可以通过chrome浏览器Resources/Application Cache观察

  2.如果想更新缓存内容,只要修改下manifest文件即可,如改版本号v1.0.1

3.离线存储如果资源有更新,可以通过如下代码来监听,但第一次加载还会是原来的版本

window.applicationCache.addEventListener('updateready',function(e){    if(window.applicationCache.status == window.applicationCache.UPDATEREADY){        window.applicationCache.swapCache();        if(confirm("loding new?")){            window.location.reload()        }    }},false)    

二.本地缓存

localStorage.setItem("key","value")localStorage.getItem("key","value")localStorage.removeItem("key")localStorage.clear()1.本地存储永不过期,除非自己去清除2.可以通过chrome浏览器Resources/Local Storage来查看3.不同域下就算key相同取不到的值也不同,如localhost和127.0.0.1
0 0