html5 application cache遇到的严重问题
在我们的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的默认行为。但无论采取何种方法,都需要谨慎使用并充分测试,以确保用户体验不受影响。
seo推广
- html5 application cache遇到的严重问题
- CAD文字怎么沿弧线排列-
- Win8系统右侧滑出的“设备”超级按钮如何使用
- 3DS MAX中利用毛发修改器制作逼真仙人球效果
- ai怎么设计创意的文字- ai图形文字字体的设计方
- 156cm的女生怎么拍出大长腿效果-
- win10大福利:内置Cortana微软小娜和小冰
- 如何获得ios7开发者账号申请方法
- InDesign文件怎么新建保存和打开-
- 电脑安装固态盘出错怎么办-如何解决-
- 小米做机械键盘的真相- 在预谋大事
- 朋友圈疯传的万能Wi-Fi账号是假的 犯了常识性错
- win10系统经常假死怎么办 Win10系统电脑经常假死机
- css新手教程之背景图充满整个屏幕
- ai怎么将英文m怎么成蝴蝶样式的logo-
- bin是什么文件格式?bin文件怎么打开?