Firefox 的刷新 (ctrl+r) 连 checkbox 的值都保留了

2020-11-25 09:44:39 +08:00
 Ansen

后台有个功能,有个 checkbox Group 和 select 联动

得强制刷新(ctrl+shift+r)才行

难道是我用的姿势不对吗?

具体操作步骤为:

  1. 按 F12 选择网络
  2. 正常选择 select,然后点按钮发送 post 请求
  3. ctrl+r 后,页面显示 select option 的值为刷新前的 option , checkbox 为初始值,类似:请先选择 select 的文字
  4. 但是直接点按钮发送 post 请求,这里可以在请求里面看到 post 的数据和上一次没有变化,

关于刷新的官方定义

刷新 Firefox

2492 次点击
所在节点    Firefox
6 条回复
noe132
2020-11-25 09:50:31 +08:00
我记得 post 刷新自动 repost 上一次的参数,所以会问题要不要刷新
Ansen
2020-11-25 09:55:18 +08:00
@noe132 #1 不是表单默认的 post,而是一个 button 调用 js 函数使用 ajax 发送 post,这种情况是不会问要不要刷新的
cmdOptionKana
2020-11-25 10:17:42 +08:00
原来还有强制刷新,学习了,我还以为是 bug, 只好用 js 去恢复初始值。
Ansen
2020-11-25 10:20:06 +08:00
@cmdOptionKana #3 我大概查了一下,看起来这是 Firefox 的 特性,和 chromium 系浏览器不一样
imn1
2020-11-25 10:55:48 +08:00
首先,你给的链接不对,上面写的是刷新 Firefox,不是刷新网页,两件事

网页刷新常用操作有三种
1.完全刷新(Ctrl-F5),这种是所有 request 重新发送,就跟获取新打开网页一样
2.带缓存刷新(F5),这种是对没有 cache 、以及超出指定时间的 request 重新发送,其他读取缓存
3.只刷新页面以及没有缓存的部分,目前实现的方式是地址栏原来的 url 不变回车,或者通过扩展实现

2 和 3 的主要区别是,3 一般只会刷新页面,新页面出现不同的元素才会一并发送请求,如果已经有的元素,例如外部 js/css 等,request 相同的话不会重发;而 2,主要是根据缓存时间,一般文本类型的文件都会重新请求,媒体类型的似乎缓存时间

而你说的问题是另一个,跟上面无关 —— 你搞错了快捷键的场景
https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
浏览时的快捷键
Reload F5 Ctrl + R

https://developer.mozilla.org/en-US/docs/Tools/Keyboard_shortcuts
开发时的快捷键
Initiate reverse search through command history/step backwards through matching commands
F9(Windows) Ctrl + R(macOS) F9(Linux)

Run Scratchpad code Ctrl + R(win) Cmd + R (mac) Ctrl + R(linux)

建议用 F5 再试一次看看
Ansen
2020-11-25 11:21:27 +08:00
@imn1 #5
感谢回复
1 、标题上写的是:Firefox 的刷新 (ctrl+r),一看就知道是网页刷新,主流浏览器的 ctrl+r 都是网页刷新
2 、我并没有纠结 request 是否重新发送的问题,我纠结的是 ctrl+r 后 select 和 checkbox 的值依然保留的问题
3 、快捷键场景貌似没啥问题呀,Win 平台,不管是在开发还是浏览,ctrl + r 并不冲突

早上大概查了一下,这个问题应该是 Firefox 和 Chromium 的刷新机制不同有关,算不上是 Firefox 的 bug,
之所以产生这个问题,是由于我对 Firefox 了解不够导致的。

Firefox 规范一些
像 input 标签的 required 属性,Chrome 和 edge 中完全不起作用,但是 Firefox 就不一样,该 input 标签会必填

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

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

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

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

© 2021 V2EX