Javascript 当用户试图退出浏览器时显示弹出窗口(GMail样式)

Javascript 当用户试图退出浏览器时显示弹出窗口(GMail样式),javascript,browser,Javascript,Browser,当用户试图退出浏览器窗口时,我必须提示用户。例如,当您转到GMail,开始撰写新邮件,然后在保存任何内容之前尝试关闭邮件时,GMail会弹出一个弹出窗口,提示如下: 是否确实要退出此页面 然后你可以选择离开页面或者留在页面上。因此,我感兴趣的是他们是如何做到这一点的,以及当用户按下停留在这个页面上时他们使用了什么技巧(如果有的话) 应能在所有浏览器中工作(在IE8、FF3.6、Chrome9中测试) 或者使用jQuery: $(window).bind('beforeunload', funct

当用户试图退出浏览器窗口时,我必须提示用户。例如,当您转到GMail,开始撰写新邮件,然后在保存任何内容之前尝试关闭邮件时,GMail会弹出一个弹出窗口,提示如下:

是否确实要退出此页面

然后你可以选择离开页面或者留在页面上。因此,我感兴趣的是他们是如何做到这一点的,以及当用户按下
停留在这个页面上时他们使用了什么技巧(如果有的话)

应能在所有浏览器中工作(在IE8、FF3.6、Chrome9中测试)

或者使用jQuery:

$(window).bind('beforeunload', function(){
  return 'Are you sure you want to leave?';
});

为了避免打扰用户,您可能希望状态可以更改,具体取决于操作是否正在运行。大概是这样的:

window.beforeunload = function(){
  if(isPerformingOperation) {
    return 'Are you sure you want to leave?';
  }
}

当您想提示他们时,请将
isPerformingOperation
设置为true,并在完成后将其关闭。

我只想说,这可能会让一些用户感到恼火。你真的需要它吗?你不能保存信息(某处),而不必这样做吗?请不要这样做。签名,所有互联网用户。
window.beforeunload = function(){
  if(isPerformingOperation) {
    return 'Are you sure you want to leave?';
  }
}