如何不让html5 app cache的manifest缓存当前页面?
程序员文章站
2022-05-11 11:28:36
...
回复内容:
别想了,manifest的目的是离线运行,如果宿主html文件不被manifest自动缓存的话,整个离线运行最基本的html都跑不起来。实在要用manifest,就将宿主html文件也添加进manifest清单中,然后在每次侦测到清单内容更新完毕后,提示用户并reload一次页面就好了。
自动二次刷新代码:Html5之离线Web应用程序
manifest相关的另外一篇回答:关于前端缓存优化,为什么没人用manifest? - 黎博的回答 manifest是很坑爹的,名字叫Application Cache就已经很好的定性了,它是用来构造离线应用程序的。比方说你写了个秒表,它离线也能用,这是manifest的应用场景。
然而天真的人类想只用manifest来缓存资源文件而不缓存页面,W3C那群老头怎么可能会向如此接地气的工业需求妥协,所以这是不可能的。
于是你发现manifest只会让你的用户优先看到旧的页面,即使你能响应update事件,但你要在这里强刷一次的话,交互和产品经理多半是会拎着刀来。而如果你在这里不刷新的话,请设想一下运营知道她上了一个节日banner却需要页面第二次打开才能看到的心情。 可以这样曲线处理
1.HTML body内容为空
2.HTML文件中引用一个不被 cache 的脚本文件,这个脚本文件来写html
-----------
其实,并没有什么意义,毕竟,application cache 的作用是 离线访问 更新不过来资源啊,具体要怎么来更新呢?求助... 我也在搞这个 还是找不到怎么搞 一直没找到解决方案