javascript - 是否有按下浏览器后退按钮的事件?

标签 javascript jquery html browser-history

我支持一个电​​子商务应用程序,它几乎可以制作和提交订单。

用户发现,如果他们提交订单,然后非常快地按回,可能会导致错误情况。

我想阻止这种情况发生。当用户单击提交时,我想将某种事件绑定(bind)到浏览器的后退按钮,从而将它们重定向到索引页面。然而,经过大约两个小时的谷歌搜索(包括一些 StackOverflow 主题),我还没有找到任何影响后退按钮行为的明确方法。

我曾短暂尝试使用 history.pushState(),但正如 HTML 5 文档提到的那样,这不会导致重定向;它只是改变显示的 URL/状态。

类似地,history.onpopstate 事件似乎没有帮助,因为每当状态从历史列表中删除时它就会发生;我正在寻找每当向后遍历历史列表时发生的事件。

问题:是否存在浏览器后退按钮的事件,或者至少有一种方法可以防止这种特殊的愚蠢的用户伎俩?

最佳答案

您无法监听浏览器后退按钮,因为它超出了您的范围(它不是 DOM 的一部分)。

您可以修复上一页,以便它检测您是否使用了后退按钮。

如果没有更多信息,我无法为您提供有关如何实现这一目标的任何提示。

此外,错误情况并不一定是坏事。只要确保清楚发生了什么:错误消息应该有意义。

关于javascript - 是否有按下浏览器后退按钮的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17028535/

相关文章:

javascript - 将数据从文本框提交到 Firebase 不起作用

jQuery 1.9.1 .ready() 在 Chrome 中未触发

javascript - 在 JavaScript 中检查浏览器不活动状态

html - 如何使用 html 和 css 使文本居中

javascript - JSON 和 JavaScript 对象字面量中的有效名称之间的区别

javascript 在弹出窗口上 append 代码

javascript - 管理没有时区的 moment.js 范围

javascript - 即使 AJAX 调用返回值也会发生 formatAjax 错误

html - HTML 中的 NSAttribtuedStringt,覆盖默认文本颜色

html - 文本对齐不起作用