离线存储 application cache

 

    离线与缓存

 

  • 网页缓存依赖网络的存在,而离线应用在离线状态下仍然可用
  • 网页缓存主要缓存当前网页相关内容,也仅限当前页面的读取;离线应用主要缓存文件,只要设置缓存的文件,都能在离线状态下读取该文件

    设备支持情况

 



 

   

    使用js来判断

 

if(window.applicationCache){
    //支持的进来

}

 

    manifest文件:

 

//如果关联上manifest文件
<html manifest="cache.manifest">

 

    识别manifest文件:

 

  • 由于manifest文件的MIME类型是text/cache-manifest
  • web服务器需要配置MIME类型:
//web.xml

<mime-mapping>

            <extension>manifest</extension>
            <mime-type>text/cache-manifest</mime-type> 

</mime-mapping>

 

   

    manifest的写法:

 

  • 第一行必须是CACHE MANIFEST,不能有空行或空格   
  • #开头为注释
  • CACHE:为要缓存的文件,后面每行一个文件,不支持通配符,必须是具体的文件名,不能包含hash/query

     -------当网络不可用或不在线时候,此部分文件会通过本地缓存直接读取

 

  • NETWORK:为网络白名单,可以为*/文件夹/域名/具体地址

      -------定义在NETWORK行下面的文件清单被指定为无论文件是否被缓存,必须从网络中下载

 

 

  • FALLBACK:可选,资源获取失败时候的候补方案,每行分别指定在线和离线时候使用的文件

       -------该清单的前半部分表示当无法获取到该文件的时候,则请求转发到后半部分的文件,比如下面如果访问不到offline.html页面,就返回index.html

 

    实例:

 

 

CACHE MANIFEST
#version:1.0.0

CACHE:
http://***.com/css/reset.css
http://***.com/a.gif

NETWORK:
images/

FALLBACK:
offline.html     index.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值