慎用html5 application cache

在我们的3G版网站的项目中使用了html5 application cache,将大部分图片资源、js、css等静态资源放在manifest文件中。

没想到上线第一天就遇到了严重问题:application cache会默认缓存当前页面!!!就算我们有如下设置:

NETWORK:*

也就是说,对于所有的动态页面,application cache会缓存起来,用户怎么刷新都是老的!

而且手机浏览器还很难清除掉,也不支持js清除!

花了一个上午,尝试了很多办法,查了很多资料,都没能清除掉客户端的缓存。一上午被用户投诉惨了。

最后还是万能的stackoverflow救了我:

  1. Do not use appcache unless it is REALLY 100% EXACTLY WHAT YOU WANT TO DO
  2. Even if it IS 100% EXACTLY WHAT YOU WANT TO DO, *DO NOT* use appcache until you are 100% CERTAIN that you are not going to make a single change to that page (or any file that it links to) for a LONG time.
  3. Delete the manifest file from the server -- if the browser can't find the manifest file, then it will clear its cache... ...this will also turn caching off for everyone.
  4. Don't turn it on again until it's 100% CORRECT
  5. Dealing with appcache is miserable, often.

解决办法很简单,在服务器端删除掉manifest文件,并且慎用application cache

 

当然,也有办法是用application cache,同时能绕过自动缓存当前页面的问题。那就是用iframe:http://sofish.de/1449

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

承接微信公众平台消息接口开发、PHP、.NET、javascript、html5程序开发;新浪微博应用、腾讯微博应用等各大开放平台应用开发业务

联系QQ:1433273389 

关注妈妈助手(账号mmhelper)方法:

1. 依次进入以下路径:朋友们—>添加朋友—>搜号码,输入mmhelper,不区分大小写,点击查找,然后点击关注。

2. 扫描二维码:

posted @ 2012-12-07 10:22  charlie  阅读(6175)  评论(4编辑  收藏  举报