通过上面的两篇文章,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的做法