html5 appcache试用总结

今天想优化下项目,试了下html5的appcache,发现还是有点坑的,最终暂时放弃了。下边说下这两个坑。

1. appcache除了会缓存列表里的文件外,还会缓存引用appcache的文件。比如index.php里引用appcache

<html manifest="demo.appcache">
</html>

index.php也会被缓存,如果index.php里有任何动态数据,这些数据将不会再更新。

如果要避开这个问题,那么首页的内容一定不能是动态内容,比如要将index.php改为index.html,然后用ajax去请求数据再做展示。这样需要对已经写好的程序做一些改造的工作。

2. appcache更新缓存是靠appcache文件里的注释里的版本号,如果版本号更新,浏览器会将所有的需要缓存的文件重新下载,这样一下会同时出现多个下载请求,这个有时候不符合预期。

通过以上两点,发现html5 有的标准还有待加强和发展,至少appcache这个特性并不是想象中那么好用的。如果需要使用,确保两点:

1. 首页不能是动态内容

2. 确保一定是不经常改动的资源,再写进appcache里,否则更新的成本比较大。

时间: 2024-11-29 07:14:39

html5 appcache试用总结的相关文章

HTML5 appcache

参考http://www.zation.me/2013/05/28/build_offline_mobile_web_app.html 他的事件总结的比较好 checking:客户端正在检查manifest文件的更新,或者尝试下载manifest文件时触发.注意:这个事件总是首先触发的. noupdate:客户端检查manifest文件,并且manifest文件没有更新时触发. downloading:客户端发现manifest文件需要更新并开始更新,或者开始下载manifest中列举的缓存文件

atitit.提升性能AppCache

1.1. 起源1 2. 离线存储2 3. AppCache2 3.1. Appcache事件点如图2 3.2. Manifest文件4 3.3. 自动化工具4 3.3.1. CACHE:(必须)5 3.4. 页面都离线了,ajax 更新5 3.5. 页面的参数如何携带使用js解析6 3.6. 离线页面的更新  长尾问题6 3.7. 如何更新缓存7 3.8. 注意事项8 1.1. 起源 html5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到

Technical analysis of client identification mechanisms

http://www.chromium.org/Home/chromium-security/client-identification-mechanisms Chromium‎ > ‎Chromium Security‎ > ‎ Technical analysis of client identification mechanisms Written by Artur Janc <[email protected]> and Michal Zalewski <[email

Chromium Blink项目最新技术报告和下一步发展方向

摘要:BlinkOn3会议11月份刚在Google的MountainView办公地点举行,本文选取了BlinkOn3的几个话题,如为Blink绘图瘦身的SlimmingPaint,多优先级的Blink调度器,Oilpan垃圾回收机制,用JavaScript开发新的DOM特性等等,和大家一起分享Blink项目目前取得的进展和下一步发展方向. 原创文章,转载请以链接形式注明原始出处为http://blog.csdn.net/hongbomin/article/details/41091679. Bl

有了它们就能更好的理解webpack了

最新内容,请在github阅读.同时,All issue and star welcomed! 1.获取webpack配置的输出配置 compilation.outputOptions 其中该对象有如下内容: { path: 'builds', filename: 'bundle.js', publicPath: 'builds/', chunkFilename: '[id].bundle.js', library: '', hotUpdateFunction: 'webpackHotUpdat

MITMF

**************************************************************************需要自行手动安装python-nfqueue,pefile模块sudo apt-get install python-nfqueue,pefilesudo apt-get install mitmf*pip uninstall twistedwget http://twistedmatrix.com/Releases/Twisted/15.5/Twi

js资源加载优化

互联网应用或者访问量大的应用,对js的加载优化是不可少的.下面记录几种优化方法 CDN  + 浏览器缓存 CDN(content delivery network)内容分发网络, 最传统的优化方式.其实就是将自己页面所依赖的js(静态的)放置到CDN上,或者使用一些CDN库,以此降低对应用服务器的请求,而浏览器缓存也是不重复加载js文件的性质. 优点: 1.简单.容易维护 2.304 cache 简单来说就是转掉请求,缓存不重加载. 缺点: 1.缓存会失效,当用户强制刷新时会有请求 2.无法增量

Firefox OS应用开发指南之预备知识

从app的开发环境开始 Web apps是基于标准web技术之上的应用.它们能运行在任何现代浏览器之上(一般来说对html5支持好的都是现代浏览器),并且采用你喜欢的开发工具来开发.与网站不同,web app具有如下几个典型的特征: 应用本身是由用户安装的,它们是独立的,并不依赖与浏览器窗口,同时可以在离线状态下运行.Gmail, Twitter, 和 Etherpad都是web app. 火狐公司的web app项目为现有的网站提供了额外的机遇,让它们能变成能运行在一个丰富.有趣且强大的计算环

用c# 开发html5的尝试,试用bridge.net

Javascript交叉编译方案很多了,工业级品质的也不是没有,但前两年我从事html5 3d引擎开发时,做过一圈评估,没有可用的. 作为一个c#爱好者,我自然是很希望能最大限度的利用c#的生产力,之前经过评估,我们选择了typescript 作为开发工具,确实也产生了一些收效. 时过境迁,虽然很久不做h5方面的开发,但任然关注,偶然发现bridge.net的发展速度相当的不错,今日观之,社区已经相当成熟.就手痒,又评估了一把. 先上源码 https://github.com/lightszer