发表于: 2018-04-29 22:48:57
1 451
今天完成的事情:通过任务6;准备小课堂课件
明天计划的事情:完善任务7页面2、讲小课堂
遇到的问题:
收获:
1.
HTML5的离线存储
http://blog.csdn.net/njupt_t/article/details/50700256
一般的Web App还是通过浏览器来访问,通过浏览器访问就需要联网发送请求,这样就使得用户在离线的状态下无法使用App,同时Web App中一部分资源并不是经常改变,并不需要每次都向服务器发出请求,出于这些原因,HTML5提出的一个新的特性:离线存储。通过离线存储,我们可以通过把需要离线存储在本地的文件列在一个manifest配置文件中,这样即使在离线的情况下,用户也可以正常使用App.
在页面使用;应用程序缓存为应用带来三个优势:
1.离线浏览 – 用户可在应用离线时使用它们
2.速度 – 已缓存资源加载得更快
3.减少服务器负载 – 浏览器将只从服务器下载更新过或更改过的资源。
manifest 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容)。
manifest 文件可分为三个部分:
1.CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存
2.NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存
3.FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)
在线的情况下,用户代理每次访问页面,都会去读一次manifest.如果发现其改变, 则重新加载全部清单中的资源
注意事项
1.站点离线存储的容量限制是5M
2.如果manifest文件,或者内部列举的某一个文件不能正常下载,整个更新过程将视为失败,浏览器继续全部使用老的缓存
3.引用manifest的html必须与manifest文件同源,在同一个域下
4.在manifest中使用的相对路径,相对参照物为manifest文件
5.CACHE MANIFEST字符串应在第一行,且必不可少
6.系统会自动缓存引用清单文件的 HTML 文件
7.manifest文件中CACHE则与NETWORK,FALLBACK的位置顺序没有关系,如果是隐式声明需要在最前面
8.FALLBACK中的资源必须和manifest文件同源
9.当一个资源被缓存后,该浏览器直接请求这个绝对路径也会访问缓存中的资源。
10.站点中的其他页面即使没有设置manifest属性,请求的资源如果在缓存中也从缓存中访问
11.当manifest文件发生改变时,资源请求本身也会触发更新
评论