30

我正在尝试处理浏览器后退按钮事件,但找不到任何解决方案。

我想问用户是否使用“确认框”单击浏览器后退按钮,如果他选择确定,我必须允许后退按钮操作,否则我必须停止后退按钮操作。

任何人都可以帮助我实现这一点。

4

2 回答 2

34

如果按下后退按钮,警告/确认用户如下。

window.onbeforeunload = function() { return "Your work will be lost."; };

您可以使用下面提到的链接获取更多信息。

使用 JavaScript 禁用浏览器中的后退按钮

我希望这对你有帮助。

于 2013-01-27T14:35:27.653 回答
14

您还可以在页面加载时添加哈希:

location.hash = "noBack";

然后只需处理位置哈希更改以添加另一个哈希:

$(window).on('hashchange', function() {
    location.hash = "noBack";
});

这使得哈希始终存在,并且后退按钮首先尝试删除哈希。然后由“hashchange”处理程序再次添加哈希 - 因此页面实际上永远不会更改为前一个页面。

于 2014-07-11T15:16:37.120 回答