通过上面的两篇文章,application cache的应用和原理,我们应该能够全面了解application cache了。同时我们
也能够清楚application cache在设计上有哪些不尽仁义的地方。这篇文章我们主要来了解下application cache在各个浏览器的
支持情况和存储大小,以及有哪些坑爹的地方,以及如何解决这些坑爹的地方。
app cache在存储大小的限制
safari桌面版没有限制【包括mac和windows】
safari移动版有10m的限制
chrome桌面版有5m的限制
android浏览器没有限制
firefox桌面版没有限制
opera可以手动管理,默认限制大小为50m
浏览器支持情况
safari从版本4开始支持
chrome从版本5开始
safari移动版从ios2.1开始支持
firefox从版本3.5开始支持
opera从版本11开始支持
android从版本2.1开始支持
ie目前全面不支持,包括ie10
我们知道application cache会把浏览器第一次输出的动态资源也进行缓存起来,那么我们如何解决这个问题呢
首次请求页面时,我们只加载静态资源,和外围的模版,然后通过一个ajax请求拿到我们的动态数据,参考代码
通过在页面中放一个隐藏的iframe,然后在iframe所引用的页面中使用app cache缓存,参考代码
使用localstroage进行存储,然后利用cookie进行更新,具体参考google和bing的做法