1.最大缓存容量为 5M.
2.manifest文件需要配置正确的MIME-type,即“text/cache-manifest”,这个是在web服务器上进行配置。
②编写.manifest文件,文件名可自定义,例如hahaha.manifest CACHE MANIFEST(声明头部文件,必须大写) CACHE:(这里写需要缓存的文件,例如js、css、img) js/index.js css/index.css img/aaa.jpg NETWORK(需要网络调用的文件,大写) * FALLBACK (在此标题下,列出的文件规定页面无法访问的回退页面) 404.xml
③编写HTML文件(.manifest文件和HTML页面同级) <!doctype html> <html manifest="hahaha.manifest">(html标签里写入你的.manifest文件) ... <script>(script标签里需要添加版本更新的监听) applicationCache.addEventListener("updateready",function(e){ if(applicationCache.status==applicationCache.UPDATEREADY){
applicationCache.swapCache();//使用新版本资源
window.location.reload();//刷新页面
}
},false);
</script> ...
3.控制台里可以找到离线缓存的文件
二,离线缓存的有点
1.减少服务器的负载,提高资源加载速率。
2.离线浏览,方便用户在离线时使用。
缺点:
1.更新完版本后,必须刷新一次才会启动新版本。
2.进入离线存储的页面,如果不更新版本,会将其当做静态页面不请求。
3.无法进行灰度发布(即一部分人使用旧版本,一部分人使用新版本)。
4.无法增量更新
三,传统浏览器缓存的区别
1.离线缓存是针对整个应用,浏览器缓存是单个文件。
2.离线缓存断网还可以打开页面,浏览器缓存不行。
3.离线缓存可以主动通知浏览器更新资源。