在Google Chrome上停用“确认表单重新提交”提示


19

刷新后,我想在Google Chrome上禁用“确认表单重新提交”弹出窗口。这个(非常)古老的讨论承认了问题所在,但没有提供解决方法。

有没有更好的主意吗?


5
下载Chrome源代码,然后使用您自己想要的版本和不需要的所有功能来破解自己的版本。
摩押

就像JSZ在贾斯汀(Justin)所链接的讨论线程中所说的那样,由站点来处理重新访问(例如搜索),而不是由浏览器(不可能)猜测什么是有效/安全的自动重新提交。
Synetech

RFC 2616中的内容:“这允许用户代理以特殊方式表示其他方法,例如POST,PUT和DELETE,以便使用户知道请求了可能不安全的操作这一事实。”
hakre 2014年

@Moab为什么这么严重?:p
delphirules

Answers:


15

Chrome引入了此“功能”,以避免用户无意间在表单上重复执行POST操作,例如两次购买同一篇文章。

这显然是在前一段时间通过使用-disable-prompt-on-repostChrome调用上的参数已修复的,但是在更高版本中也已解决。

尽管有许多相关的Chrome错误报告,但这些错误报告已经开放了好几年(!),但该错误仍然存​​在。显然,执行后退/前进的Chrome模块编写得很糟糕,几乎无法修复。没有人敢从头开始重写它。

因此,如果您无法修改包含POST操作的页面,那么您很不走运,也没有解决方案。

如果您可以修改页面,那么您有两种解决方案:

  1. 使用GET而不是POST
  2. Post / Redirect / Get方法与HTTP 303响应代码一起使用

当然,存在使用除Chrome之外的其他浏览器的解决方案(但这不能解决问题)。


谢谢。您能否链接到其中一些错误报告?
Randomblue

1
只需使用此Google查询即可提供8000多个答案。
harrymc

2
从技术上讲,Chrome并未引入此功能,多年来,几乎所有网络浏览器中都已经使用了此功能(至少 15个左右)。
Synetech

幸运的是,Opera没有此功能。
cweiske 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.