manifest离线缓存

1.起源:

              H5之前,所有网页都必须联网才能访问

              PC端没问题,在移动端网络的可靠性变低。(过山洞、走地下通道、去郊区、连不上网,什么都干不了)

2.manifest是什么?

manifest是一个同名后缀为manifest的文件,在文件中定义那些需要缓存的文件,支持manifest的浏览器,将会按照manifest文件的规则进行保存数据,从而在没有网络的情况下,也可以访问

当第一次正确配置app cache后,再次访问该应用时,浏览器器会首先检查manifest是否有变动,如果有变动,则把相应的变化更更新下来,同时改变浏览器器的app cache,如果没有变动,就会直接把app cache的资源返回

3.特点:

离线浏览  ——  用户可以在离线状态浏览⽹网站旧数据

更快的速度  ——  因为数据存储在本地,所以速度会更快

减轻服务器的负载  ——  浏览器只会下载在服务器上发生改变的资源

4.兼容情况:

所有主流浏览器都支持离线缓存,除了了个性的IE

5.使用

a.在html标签中增加一个manifest属性,用来指定当前页面的manifest文件

b.创建一个和html同名的manifest文件,然后给index.html文件添加属性         <html manifest="index.manifest">

c.html文件设置完成,后面去操作manifest文件

6.manifest文件的编写


7.如何更新缓存

a.更新manifest文件

        给manifest添加或删除文件,都可以更新缓存

        如果我们更改了了js,而没有新增或删除,

        前面例子中的版本号,可以很好的用来更新manifest文件

b.通过javascript操作

        HTML5中引入JS操作离线缓存的方法

        window.applicationCache.update();

       浏览器已放弃支持该方法

c.清除浏览器缓存

        如果用户清除了浏览器缓存,会重新下载文件


8.使用注意事项

(1)浏览器对缓存数据的容量量限制可能不太一样,某些浏览器限制是每个站点5MB

(2)如果manifest文件,或者内部列列举的某一个文件不能正常下载,

整个更更新过程将失败,继续使用老的缓存

(3)引用manifest的html必须与manifest文件同源,在同一个域下

(4)FALLBACK中的资源必须和manifest文件同源

(5)当一个资源被缓存后,该浏览器直接请求整个绝对路径也会访问缓存中的资源

(6)站点的其它页面即时没有manifest属性,请求的资源如果在缓存中也从缓存中访问

(7)当manifest文件发生改变的时,资源请求本身也会触发更更新

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、起源 H5之前,所有的网页都必须联网才能访问。PC端没问题,在移动端网络的可靠性变低 2、manifest是什...
    方豆儿阅读 988评论 0 2
  • **干什么用的?**离线缓存为的是第一次请求后,根据manifest文件进行本地缓存,并且在下一次请求后进行展示(...
    高高3575阅读 3,588评论 1 12
  • 转载:H5缓存机制浅析-移动端Web加载性能优化【干货】 作者:贺辉超,腾讯游戏平台与社区产品部 高级工程师 目录...
    meng_philip123阅读 11,612评论 6 48
  • 起源 大部分的网页,必须联网才能访问,这其实也是web的特色,但对于现在的移动互联网时代,设备终端位置不再固定,依...
    白水螺丝阅读 2,604评论 0 4
  • Html5 引入了应用程序缓存,这意味着web应用可以进行缓存,并且可以在没有网络连接的时候进行访问。1.1 什么...
    Victor细节阅读 4,095评论 0 0