• html5 manifest 离线缓存知识点


    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.离线缓存可以主动通知浏览器更新资源。

  • 相关阅读:
    IReport问题整理
    超出打开游标的最大数的原因和解决方案【131101】
    【131031】rel 属性 -- link标签中的rel属性,定义了文档与链接的关系
    【131031】html:hidden的使用
    <jsp:include>和<%@include file=""%>区别【131031】
    【131031】<meta http-equiv=...> 的功能
    【131031】asp.net <%%>&<%#%>&<%=%>&<%@%>&<%$%>用法区别
    python面向对象(类的成员及类方法)
    python网络编程知识体系
    python面向对象(类和对象及三大特性)
  • 原文地址:https://www.cnblogs.com/winyh/p/9273789.html
Copyright © 2020-2023  润新知