我支持一个电子商务应用程序,它几乎可以制作和提交订单。
用户发现,如果他们提交订单,然后非常快地按回,可能会导致错误情况。
我想阻止这种情况发生。当用户单击提交时,我想将某种事件绑定(bind)到浏览器的后退按钮,从而将它们重定向到索引页面。然而,经过大约两个小时的谷歌搜索(包括一些 StackOverflow 主题),我还没有找到任何影响后退按钮行为的明确方法。
我曾短暂尝试使用 history.pushState()
,但正如 HTML 5 文档提到的那样,这不会导致重定向;它只是改变显示的 URL/状态。
类似地,history.onpopstate
事件似乎没有帮助,因为每当状态从历史列表中删除时它就会发生;我正在寻找每当向后遍历历史列表时发生的事件。
问题:是否存在浏览器后退按钮的事件,或者至少有一种方法可以防止这种特殊的愚蠢的用户伎俩?
最佳答案
您无法监听浏览器后退按钮,因为它超出了您的范围(它不是 DOM 的一部分)。
您可以修复上一页,以便它检测您是否使用了后退按钮。
如果没有更多信息,我无法为您提供有关如何实现这一目标的任何提示。
此外,错误情况并不一定是坏事。只要确保清楚发生了什么:错误消息应该有意义。
关于javascript - 是否有按下浏览器后退按钮的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17028535/