离开页面确认

时间:2014-03-09 10:52:27

标签: javascript jquery

我有这个代码,当有人想按后退/前进按钮,关闭浏览器并刷新页面时触发...

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

我不希望这在重新加载同一页面时发出警报,否则它没关系。另一件事是我不知道如何捕捉“离开”按钮和“取消”按钮。

需要帮助。 谢谢..

1 个答案:

答案 0 :(得分:2)

您无法知道用户导航到的页面(您也不能)。

您只能通过设置定时回调来了解用户选择的选项:如果您收到回叫,则用户决定留在页面上;如果没有,你知道他们没有。有些人认为:

$(window).bind('beforeunload', function(){
  setTimeout(function() {
    // They stayed, maybe
  }, 250);
  return 'Are you sure you want to leave?';
});

但如果有各种各样的浏览器兼容性问题,我不会感到惊讶。特别是我会仔细测试目标浏览器,特别是Firefox。通常,这些提示不允许JavaScript代码在显示时运行,但是......