浏览器后退按钮处理

IT技术 javascript jquery html browser
2021-02-15 18:25:52

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

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

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

2个回答

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

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

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

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

我希望这会对你有所帮助。

第二个链接“Mastering_The_Back_Button_With_Javascript”似乎已经死了
2021-04-17 18:25:52
此解决方案仅适用于 IE 浏览器,但不适用于 Chrome 和 Firefox 浏览器。任何人都可以提供特殊的JS脚本,以便我们可以处理所有浏览器上的后退按钮....
2021-04-19 18:25:52
可以确认,window.onbeforeunload也适用于 Chrome、FF(Opera?-我不测试)
2021-04-22 18:25:52
如果您与网站进行了交互,这仅在 Firefox 中有效
2021-04-26 18:25:52
@BhanuprasadKunde - 当您说 onebeforeunload 仅适用于 IE 时,您就错了。它适用于 IE、FF、chrome 和 Opera。检查 javascript 控制台中的实现错误。
2021-05-01 18:25:52

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

location.hash = "noBack";

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

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

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

小心处理 href="#id" 然后;)
2021-04-19 18:25:52