v2ex 的页面缓存有点不人性化

2020-07-21 20:54:28 +08:00
 Leon6868

Google Chrome 83.0.4103.116 (正式版本) ( 64 位)
举个例子:从主页前往签到页面并签到,页面显示签到成功,但按下返回键回到主页后,签到信息不会更新。
消息提示功能也有类似的问题

1813 次点击
所在节点    反馈
12 条回复
Leon6868
2020-07-21 20:58:13 +08:00
@Livid 是否可以通过给主页添加“Cache-Control”的 header 来解决?
Girlphobia
2020-07-21 21:13:28 +08:00
@Leon6868 根据 HTML Living Standard,浏览器会保存页面的 browsing context 与 session history,在访问历史的时候会读取之前页面的状态,与 HTTP 缓存无关。
如果这是一个需要解决的问题,做法应该是页面检测到返回时刷新,或者对签到之类的信息使用一个单独的前端模块发送 XHR 请求,并且在前端更新。
wxsm
2020-07-21 21:15:22 +08:00
问这个问题说明你并不理解浏览器是如何缓存的。建议自己先弄明白再 at 别人。
Licsber
2020-07-21 21:32:06 +08:00
"但按下返回键回到主页后" 好了 本帖不用看了
推荐 lz 一个解决方案:下次按下左上角“V2EX”logo 返回
缺点嘛 就是会多一些网络请求 但是既然你认为不更新是 bug 的话 那就多一次呗
jugelizi
2020-07-21 21:33:40 +08:00
手动问号 你真的理解浏览器的行为?
arischow
2020-07-21 21:34:50 +08:00
你吓到我了
Leon6868
2020-07-21 22:05:07 +08:00
@wxsm
@Girlphobia
是我没说清楚。cache-control 设置为 no-cache, no-store 。当然直接点击 logo 也是一个解决方法
Leon6868
2020-07-21 22:05:46 +08:00
@Licsber 我没说是 bug,我说有点不人性化(毕竟键盘 alt+←也很爽)
mercury233
2020-07-21 22:08:51 +08:00
后退就要重新载入才是真的不人性化吧
Leon6868
2020-07-21 22:14:08 +08:00
@mercury233 设置里再添加一个开关(手动滑稽)
Licsber
2020-07-22 00:48:53 +08:00
@Leon6868 #8
@mercury233 #9 同意 9 楼观点
如果一个网页连后退也要刷新的话 假设你网络状态不好怎么办 其次 给服务器( CDN 多带来多少压力
另外 常见的使用场景 难道不是主页点着 从上点灰到下 刷完一遍之后刷新主页重新把亮的点灰么(
假设这个主页是无缓存的 你会丢失浏览状态 并且 一个强制实时更新的主页更加不容易寻找内容
autoxbc
2020-07-22 11:44:43 +08:00
其实大家都是用脚本签到的

油猴写的半自动方案,访问主页时后台签到,仅仅免去点击,也不算违规

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/692030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX