在Google Chrome中失败后重新提交表单,就像在Firefox中一样

时间:2016-05-10 08:22:13

标签: google-chrome google-chrome-extension

在Firefox中如果由于网站故障等原因导致表单提交失败,我们仍然可以重新提交相同的表单并且有效。

从此official site discussion我了解Chrome在按“返回”按钮或失败时不会保留表单缓存。

如何使用扩展程序添加此功能?

1 个答案:

答案 0 :(得分:0)

您的问题是,现在,"是否可以制作Chrome扩展程序以保存表单以防万一发生错误"。

答案是:某些表格是的。但是,一般的,100%可靠的方法实际上是不可能的。

此类扩展已存在。但是,他们并不总是运作良好。

至于架构,合理的方法是:

  1. 在包含您要跟踪的表单的所有页面中注入内容脚本(可能全部都是这样)。
  2. 检测页面上的表单。棘手的部分#1:在我们的AJAX世界中,并非所有东西都必须是这样使用的形式。我想您可以只监视所有输入字段的值和值的变化,并保存最新版本。
  3. 检测提交内容。棘手的部分#2:它可以是一个submit形式,也可以是一些自己做XHR的JavaScript。 webRequest API可以再次提供帮助,但一般来说,很难确定提交的内容"是。搜索可以生成一个完全合理的GET请求 - 是一个"表单提交"?
  4. 将表单还原为提交前状态。棘手的部分#3:他可以严重地与页面自己的脚本冲突(例如,对于基于角度的页面,如果你只是用JS修改输入的值,它将不会更新模型)。 / LI>