如果用户点击后退浏览器按钮,如何显示确认?

use*_*342 -1 javascript php browser ajax jquery

可能重复:
有没有办法在javascript中捕获后退按钮事件?

在我的应用程序中,我只想要一定数量的脚本(Text1.php,Text2.php和Text3.php)来包含一段代码,如果用户点击后面的浏览器按钮,它将显示一个类似于一个如下:

confirm("You have clicked on the browser's back button. If you confirm to go back via the browser back button, you will be logged out and lose your current assessment details." + "\n" + "\n" + "Are you sure you want to go back and lose current assessment details?" + "\n" );
Run Code Online (Sandbox Code Playgroud)

要求如下:

  1. 如何在用户点击后退浏览器按钮时显示确认?
  2. 如果用户确认确认,则导航到Text4.php(这是它注销用户的地方)
  3. 如果用户取消确认,则只需关闭确认框,以便用户可以继续他们正在做的事情(猜测这是有关的 return false;
  4. 只希望脚本发生这种情况(Text1.php,Text2.php和Text3.php)
  5. 需要它适用于所有主流浏览器(IE,Chrome,Firefox,Safari,Opera)

谢谢

Eri*_*ric 5

注意:如果您需要阻止此人离开(也就是说,如果他们输入了一些重要数据并且通过导航将其丢失),则您应该只执行此操作.另请注意,您无法自定义按钮或标题,只能自定义消息正文本身.这些是这种功能的限制.

您可以使用该beforeunload事件来实现此目的.

$(window).bind("beforeunload", function() {
    return "HI"; // Return whatever message you want
});?
Run Code Online (Sandbox Code Playgroud)

小提琴

(要使用小提琴,只需重新加载页面或导航或等等.)

我还建议你在有人以理想的方式离开页面时取消绑定(取消按钮?),否则你可能会遇到不良行为.

例如:

$("a").click(function() {
    $(window).unbind("beforeunload");
});
Run Code Online (Sandbox Code Playgroud)

  • 这就是这种方法的作用; 允许用户选择是否离开页面.你不能简单地*阻止*人离开,只允许他们选择. (2认同)