html5 application cache遇到的严重问题
程序员文章站
2023-12-12 14:19:34
在我们的3G版网站的项目中使用了html5 application cache,将大部分图片资源、js、css等静态资源放在manifest文件中,需要了解的朋友可以参考下... 12-12-26...
在我们的3g版网站的项目中使用了html5 application cache,将大部分图片资源、js、css等静态资源放在manifest文件中。
没想到上线第一天就遇到了严重问题:application cache会默认缓存当前页面!!!就算我们有如下设置:
network:*
也就是说,对于所有的动态页面,application cache会缓存起来,用户怎么刷新都是老的!
而且手机浏览器还很难清除掉,也不支持js清除!
花了一个上午,尝试了很多办法,查了很多资料,都没能清除掉客户端的缓存。一上午被用户投诉惨了。
最后还是万能的*救了我:
do not use appcache unless it is really 100% exactly what you want to do
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.
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.
don't turn it on again until it's 100% correct
dealing with appcache is miserable, often.
解决办法很简单,在服务器端删除掉manifest文件,并且慎用application cache
当然,也有办法是用application cache,同时能绕过自动缓存当前页面的问题。那就是用iframe
没想到上线第一天就遇到了严重问题:application cache会默认缓存当前页面!!!就算我们有如下设置:
复制代码
代码如下:network:*
也就是说,对于所有的动态页面,application cache会缓存起来,用户怎么刷新都是老的!
而且手机浏览器还很难清除掉,也不支持js清除!
花了一个上午,尝试了很多办法,查了很多资料,都没能清除掉客户端的缓存。一上午被用户投诉惨了。
最后还是万能的*救了我:
do not use appcache unless it is really 100% exactly what you want to do
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.
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.
don't turn it on again until it's 100% correct
dealing with appcache is miserable, often.
解决办法很简单,在服务器端删除掉manifest文件,并且慎用application cache
当然,也有办法是用application cache,同时能绕过自动缓存当前页面的问题。那就是用iframe