今天想优化下项目,试了下html5的appcache,发现仍是有点坑的,最终暂时放弃了。下边说下这两个坑。php
1. appcache除了会缓存列表里的文件外,还会缓存引用appcache的文件。好比index.php里引用appcachehtml
<html manifest="demo.appcache"> </html>
index.php也会被缓存,若是index.php里有任何动态数据,这些数据将不会再更新。html5
若是要避开这个问题,那么首页的内容必定不能是动态内容,好比要将index.php改成index.html,而后用ajax去请求数据再作展现。这样须要对已经写好的程序作一些改造的工做。ajax
2. appcache更新缓存是靠appcache文件里的注释里的版本号,若是版本号更新,浏览器会将全部的须要缓存的文件从新下载,这样一下会同时出现多个下载请求,这个有时候不符合预期。浏览器
经过以上两点,发现html5 有的标准还有待增强和发展,至少appcache这个特性并非想象中那么好用的。若是须要使用,确保两点:缓存
1. 首页不能是动态内容app
2. 确保必定是不常常改动的资源,再写进appcache里,不然更新的成本比较大。优化