html5 application cache遇到的严重问题

网络推广 2025-06-02 03:03www.dzhlxh.cn网络推广竞价

在我们的3G版网站项目中,我们采用了html5的application cache功能,将大量的图片资源、js和css等静态资源纳入了manifest文件中。正是这一技术的使用,让我们在项目上线第一天就遭遇了一个未曾预料的大问题。

application cache有一个默认行为,那就是会缓存当前页面。尽管我们设定了NETWORK:,意味着我们希望对所有动态页面不进行缓存,但这个设定似乎无法阻止application cache缓存当前页面。这让用户无论怎么刷新,看到的都是老内容,尤其在手机浏览器上,清除缓存变得异常困难,甚至无法通过js实现。

一上午的时间,我们收到了大量用户的投诉,尝试各种解决办法,查阅大量资料,但都无法解决客户端的缓存问题。我们求助于万能的stackoverflow社区。

社区中的资深开发者给出了严厉的警告:除非你真的百分之百确定需要application cache的功能,否则不要轻易使用。即使你百分百确定要使用,也必须在确保长时间内不会对该页面或其链接的文件进行任何更改的情况下使用。因为一旦开启application cache,想要关闭或更改其缓存设置将变得异常麻烦。如果遇到问题,最简单的解决办法是从服务器端删除manifest文件。当浏览器找不到manifest文件时,就会清除其缓存。但请注意,这也会关闭所有人的缓存功能,所以在重新开启之前,必须确保一切设置都是正确的。

与application cache打交道常常让人痛苦不堪。对于我们的项目来说,解决办法很简单,那就是在服务器端删除manifest文件,并谨慎使用application cache。

如果你仍然想使用application cache并避免自动缓存当前页面的问题,有一个折中的办法:使用iframe。例如,通过"cambrian.render('body')"的方式,将页面内容放入一个iframe中,这样可以绕过一些application cache的默认行为。但无论采取何种方法,都需要谨慎使用并充分测试,以确保用户体验不受影响。

上一篇:CAD文字怎么沿弧线排列- 下一篇:没有了

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板