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

时间:2013-06-10 16:23:49

标签: javascript jquery html5 browser-history

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

用户发现,如果他们提交订单,然后快速按 ,则会导致错误。

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

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

同样,history.onpopstate事件似乎没有用,因为每当从历史列表中删除一个州时就会发生这种情况;我正在寻找历史列表向后遍历时发生的事件。

问题:是否存在浏览器后退按钮的事件,或者至少是一种阻止这种特殊愚蠢用户技巧的方法?

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

错误答案...... 而是听取window.onBeforeUnload并询问用户他是否知道自己在做什么。如果没有,则返回false。这通常通过确认对话

完成