如何不让html5 app cache的manifest缓存当前页面

如何不让html5 app cache的manifest缓存当前页面,第1张

manifest是很坑爹的,名字叫Application Cache就已经很好的定性了,它是用来构造离线应用程序的。比方说你写了个秒表,它离线也能用,这是manifest的应用场景。

然而天真的人类想只用manifest来缓存资源文件而不缓存页面,W3C那群老头怎么可能会向如此接地气的工业需求妥协,所以这是不可能的。

于是你发现manifest只会让你的用户优先看到旧的页面,即使你能响应update事件,但你要在这里强刷一次的话,交互和产品经理多半是会拎着刀来。而如果你在这里不刷新的话,请设想一下运营知道她上了一个节日banner却需要页面第二次打开才能看到的心情。

Android的话可以使用webview缓存设置

webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE)

这样webView就不会去加载缓存了,或者,每次退出时手动删除webView缓存,应用databases目录下有两个we

1.更新缓存资源主要有两种方法,通过修改配置文件的版本号或者调用js完成更新

2.js更新方法

代码如下:

if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {

window.applicationCache.update()}

3.修改文件

4.更新manifest文件

浏览器发现manifest文件本身发生变化,便会根据新的manifest文件去获取新的资源进行缓存。

5.当manifest文件列表并没有变化的时候,我们通常通过修改manifest注释的方式来改变文件,从而实现更新。 注释改变就是指配置文件的版本号


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6301429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存