关于html5离线缓存的使用问题集锦[动态更新]

关于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写一下。

小结

综上,一些坑已经说完了,所以还是要慎用啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5中,可以使用Application Cache API来实现离线缓存。 具体步骤如下: 1. 在HTML文档的头部添加manifest属性,指定应用程序缓存清单文件的URL,例如: ```html <!DOCTYPE html> <html manifest="example.appcache"> ... </html> ``` 2. 创建一个缓存清单文件,包含需要缓存的资源列表,例如: ``` CACHE MANIFEST # Version 1.0.0 CACHE: index.html style.css script.js image.png NETWORK: * FALLBACK: ``` 其中,CACHE部分列出需要缓存的资源,NETWORK部分列出需要在线获取的资源,FALLBACK部分列出无法获取的资源的备选方案。 3. 在JavaScript中通过Application Cache API来操作缓存清单文件,例如: ```javascript var appCache = window.applicationCache; appCache.update(); // 尝试更新缓存 appCache.addEventListener('updateready', function() { appCache.swapCache(); // 切换到新的缓存 }, false); if (appCache.status === appCache.UPDATEREADY) { appCache.swapCache(); // 切换到新的缓存 } ``` 在上述代码中,`update()`方法用于尝试更新缓存,`swapCache()`方法用于切换到新的缓存。`updateready`事件表示缓存清单文件已经更新,可以切换到新的缓存。 在使用Application Cache API时,需要注意以下几点: - 缓存清单文件必须是纯文本文件,并且需要设置正确的MIME类型。 - 缓存清单文件需要通过HTTP服务器来提供,否则无法使用Application Cache API。 - 缓存清单文件中列出的资源URL需要使用相对路径,不能使用绝对路径或带有域名的路径。 - 缓存清单文件只有在第一次加载页面时才会被下载和解析,之后会被缓存。如果需要更新缓存清单文件,需要强制刷新页面或使用JavaScript来更新缓存

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值