浏览器后退按钮处理

Ram*_*aul 28 html javascript browser jquery

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

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

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

Sam*_*ath 29

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

window.onbeforeunload = function() { return "Your work will be lost."; };
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • @BhanuprasadKunde - 当你说onebeforeunload只适用于IE时,你错了.它适用于IE,FF,Chrome和Opera.检查javascript控制台中的实现错误. (4认同)
  • 此解决方案仅适用于IE浏览器,但不适用于Chrome和Firefox浏览器.任何人都可以提供特殊的JS脚本,以便我们可以处理所有浏览器的后退按钮.... (2认同)

Szo*_*tki 12

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

location.hash = "noBack";
Run Code Online (Sandbox Code Playgroud)

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

$(window).on('hashchange', function() {
    location.hash = "noBack";
});
Run Code Online (Sandbox Code Playgroud)

这使得哈希始终存在,后退按钮首先尝试删除哈希.然后通过"hashchange"处理程序再次添加哈希 - 因此页面实际上永远不会被更改为上一个页面.