欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何不让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 的作用是 离线访问 更新不过来资源啊,具体要怎么来更新呢?求助... 我也在搞这个 还是找不到怎么搞 一直没找到解决方案