Firefox 的刷新 (ctrl+r) 连 checkbox 的值都保留了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ansen
V2EX    Firefox

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

  •  1
     
  •   Ansen 2020-11-25 09:44:39 +08:00 2841 次点击
    这是一个创建于 1859 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    具体操作步骤为:

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

    关于刷新的官方定义

    刷新 Firefox

    第 1 条附言    2020-11-25 10:36:21 +08:00
    可以在 form 或 input 标签中添加 autocomplete="off" 解决
    6 条回复    2020-11-25 11:21:27 +08:00
    noe132
        1
    noe132  
       2020-11-25 09:50:31 +08:00 via Android
    我记得 post 刷新自动 repost 上一次的参数,所以会问题要不要刷新
    Ansen
        2
    Ansen  
    OP
       2020-11-25 09:55:18 +08:00
    @noe132 #1 不是表单默认的 post,而是一个 button 调用 js 函数使用 ajax 发送 post,这种情况是不会问要不要刷新的
    cmdOptionKana
        3
    cmdOptionKana  
       2020-11-25 10:17:42 +08:00
    原来还有强制刷新,学习了,我还以为是 bug, 只好用 js 去恢复初始值。
    Ansen
        4
    Ansen  
    OP
       2020-11-25 10:20:06 +08:00
    @cmdOptionKana #3 我大概查了一下,看起来这是 Firefox 的 特性,和 chromium 系浏览器不一样
    imn1
        5
    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
        6
    Ansen  
    OP
       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 标签会必填
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2639 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 06:47 PVG 14:47 LAX 22:47 JFK 01:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86