HTML离线缓存( applicationCache)

什么离线缓存作用

着移动互联网的兴起,设备终端的位置不在固定。而移动设备非常依赖无线信号,网络的可靠性并不稳定,比如在过隧道或是信号强度弱的地方,无法访问网站,这无疑对用户体验是不好的,所以HTML5中的applicationCache就解决了这个问题。

实例 - 前端部分

index.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>

hahaha.manifestw文件

 CACHE MANIFEST(声明头部文件,必须大写) 

 CACHE:  (这里写需要缓存的文件,例如js、css、img)
  js/index.js
  css/index.css
  img/aaa.jpg 
 NETWORK (需要网络调用的文件,大写) //
   

 

离线缓存的优点

 减少服务器的负载,提高资源加载速率。
离线浏览,方便用户在离线时使用。

离线缓存的缺点

更新完版本后,必须刷新一次才会启动新版本。
进入离线存储的页面,如果不更新版本,会将其当做静态页面不请求。
无法进行灰度发布(即一部分人使用旧版本,一部分人使用新版本)。
无法增量更新
对于某些动态生成网站 会出现出现致命的bug

与传统浏览器缓存的区别

离线缓存是针对整个应用,浏览器缓存是单个文件。
离线缓存断网还可以打开页面,浏览器缓存不行。
离线缓存可以主动通知浏览器更新资源。
posted @ 2017-04-17 21:12  wkm-wangZhe  阅读(172)  评论(0编辑  收藏  举报