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文件添加属性        

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

6.manifest文件的编写


manifest离线缓存_第1张图片

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文件发生改变的时,资源请求本身也会触发更更新

你可能感兴趣的:(manifest离线缓存)