码迷,mamicode.com
首页 > Web开发 > 详细

记录HTML5离线存储的一些比较容易忽略的知识点

时间:2014-11-27 16:08:58      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:io   sp   文件   on   bs   html   htm   服务器   nbsp   

1 当HTML文件中关联了manifest文件,那么当前文件会默认被缓存。但是缓存的也仅仅是这个HTML文件,如果该文件中关联了其他文件,如JS,CSS,图片,那么

  就需要手动将这些文件加入manifest清单列表中,否则离线后这些文件不会被加入缓存之中,导致载入失败。

2 当断网之后,更新manifest和关联文件,刷新页面,会报错:Manifest fetch failed ,因为manifest列表被更新,那么浏览器会发送请求进行更新manifest列表中的文件,

  但是因为断网,更新失败,所以报错。

3 联网状态,当更新manifest和关联文件后,刷新页面后,会进行更新操作,但是当前刷新,其请求仍然是上一次缓存的内容,刷新之后,上次的缓存才会被更新,故而需要

  到下次刷新页面新的缓存才会生效才会生效。当然这一切的前提是在 不手动用JS更新的情况下。

4 applicationCache事件,其中update()是更新缓存文件,即根据manifest列表从服务器上更新文件,当前前提是manifest清单有所改动,并且服务器文件有所变动。而

   swapCache()则是替换缓存文件,将更新下来的缓存文件替换原来的缓存文件。

  其实这里有小BUG,或者是我没搞懂,我只要调用了update(),即便不调用swapCache()貌似也能替换原来的缓存,不知道是不是刷新页面的时候,浏览器自动执行了这

  一步。。。这里求教。

 

记录HTML5离线存储的一些比较容易忽略的知识点

标签:io   sp   文件   on   bs   html   htm   服务器   nbsp   

原文地址:http://www.cnblogs.com/ccjs/p/4126452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!