关于html5离线缓存的使用问题[坑]
html5离线缓存的几个注意关键点
1.访问时链接参数敏感,get方法只要参数变了,都会重新所有缓存
2.appcache改变后,第一次访问是不会更新的,第二次访问才会更新
3.tomcatt中要配置appcache类型MIME是text/cache-manifest
4.appcache文件中NETWORK要配置*,不然其他访问就失灵了!
5.关于appcache中目录配置,直接写文件是同级目录,写/是从端口号开始的绝对路径,写…/是以当前目录上级。
NO 1
我尝试通过构建post请求,使得地址栏不变,希望可以采用原来的缓存,然而,HTML5的离线缓存不支持post直接跳转。即使post的url地址拼上参数也不行,综上实验,最后结果证明HTML5不支持post跳转缓存,如果希望参数不一样,缓存不用更新,那你只能改页面逻辑了。
NO 2
从一个角落发现有作者讲,manifest只需要在同域的文件中引入一次就行了,经过实验,这是不行的!只能每一个html引一个自己的manifest
NO 3
关于浏览器限制缓存大小问题,IE10支持10M,10M以上会提示,点击确定就可以了,当然不管的话也不会报错哟!火狐默认300M+,谷歌30M往上,谷歌的没找到精准的,仅供参考。
IE查看APPCACHE需要在工具,设置,里面有站点和允许的大小限制
火狐直接about就好啦,会显示的很准确
谷歌需要chrome://appcache-internals/
NO4
关于缓存清单更新后,第一次访问不刷新的问题,这个只能构建监听,程序二次刷新。给客户的感觉就是APP会闪一下,PC端基本看不出来。
NO5大坑
用好离线缓存,一定要写好下线代码,如何取消缓存后,客户访问时能及时更新,需要用H5的API写一下。
小结
综上,一些坑已经说完了,所以还是要慎用啊。