applicationCache对象处理具有update方法与swapCache方法之外,在大品牌网站建设中,还具有一系列的事件。下面用过前面讲过的浏览器与服务器的交互过程来看一下在这个过程中的这些事件是如何被触发的。
首次访问http://localhost:82/mr/网站。
(1)浏览器:请求访问http://localhost:82/mr/。
(2)服务器:返回index.html网页。
(3)浏览器:发现该网页具有manifest属性,触发checking事件,检查manifest文件是否存在。不存在时,触发error事件,表示manifest文件未找到,同时也不执行步骤(6)开始的交互过程。
(4)浏览器:解析index.html网页,请求网页上所有资源文件。
(5)服务器:返回所有资源文件。
(6)浏览器:处理manifest文件,请求manifest中所有要求本地缓存的文件,包括index.html页面,即使刚才已经请求过该文件。如果要求本地缓存所有文件,这将是一个比较大的重复的请求过程。
(7)服务器:返回所有要求本地缓存文件。
(8)浏览器:触发downloading事件,然后开始下载这些资源。在下载的同时,周期性地触发progress事件,开发人员可以用编程的手段获取多少文件已被下载,多少文件仍然处于下载队列中等信息。
(9)下载结束后触发cached事件,表示首次缓存成功,存入所有要求本地缓存的资源文件。
再次访问http://localhost:82/mr/网站,步骤(1)~(5)同上,在步骤(5)执行完之后,浏览器将核对manifest文件是否被更新,若没有被更新,触发noupdate事件,步骤(6)开始的交互过程不会被执行。如果被更新了,将继续执行后面的步骤,在步骤(9)中不触发cached事件,而是触发updateReady事件,这表示下载结束,可以通过刷新页面来使用更新后的本地缓存,或调用swapCache方法来立刻使用更新后的本地缓存。
另外,在访问缓存名单是如果返回一个HTTP404错误(页面未找到)或者410错误(永久消失),则触发obsolete事件。
在整个过程中,如果任何与本地缓存有关的处理中发生错误的话,都会触发error事件。可能会触发error事件的情况分为以下几种。
缓存名单返回一个HTTP404错误(页面未找到)或者410错误(永久消失)。
缓存名单被找到且没有更改,但引用缓存名单的HTML页面不能正确下载。
缓存名单被找到被更改,但浏览器不能下载某个缓存名单中列出的资源。
开始更新本地缓存时,缓存名单再次被更改。

猜你喜欢
联络方式:
深圳 · 龙岗 · 大运软件小镇22栋302-308
电话:400 1828 580
邮箱:szhulian@qq.com



-
bootstrap栅格布局以及bootstrap4和bootstrap3的区别
Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统, 可以随着设备或视口尺寸的大小的增加而适当地扩展到 12 列。 它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类...
-
logo设计规范 logo设计原则有哪些?
每一个品牌或商标都有一个属于自己的logo,logo可以分为文字logo、图形logo、图像logo等,那么logo设计规范怎么样呢?logo设计原则有哪些?下面小编给大家整理的关于logo设计的相关内容,希望能够对大家有所帮助!
-
【感恩】有你一路相伴,深正互联喜迎7周年啦
不知不觉中,在您的关注和支持下,深正互联迎来了7周岁生日,在这7年来,我们和客户,朋友们,同事们,一起见证了深正互联的成长,也见证了我们不畏风雨,不畏强者,破浪前行的勇气与力量...
-
网站设计如何提高用户体验度?
网站有一个良好的框架结构,舒适的页面设计,最关键的是对用户来说提供有价值的内容,用户进网站愿意浏览感兴趣的信息或考虑购买感兴趣的产品,一个长久的停留时间是一个网站的良好用户体验度的表现...
-
阿里云和钉钉要进一步深入群众了
每年云栖大会的采访环节都很有意思。阿里云的话事人当然是坐在中间,而观察旁边配搭的其他人,往往能了解阿里云甚至整个阿里巴巴的技术输出在这一年里最重要的事情是什么...