0

可能重复:
如何在onbeforeunload上执行ajax函数?
如何通过javascript捕获浏览器关闭事件并在该事件上向Web服务方法发出请求

所以现在这就是我的 onbeforeunload 的样子

window.onbeforeunload = function (e) {
  var message = "Don't close me!",
  e = e || window.event;
  // For IE and Firefox
  if (e) {
    e.returnValue = message;
  }
  // For Safari
  return message;
};

所以这就是我想要做的,这个函数会触发并提示他们选择是否离开页面。当且仅当他们决定离开时,我需要触发 GET 请求以关闭数据库记录。

从测试我是否设置如下:

window.onbeforeunload = $.get("url_here")

这是一个简单的解决方法,但是现在我无法获得提示,并且窗口在没有警告的情况下关闭。

我也尝试过添加一个带有确认功能的功能,但它似乎无法正常工作。例如

window.onbeforeunload = function(e){
  if(confirm("Are you sure?")){
    $.get("url_here");

    return true;
  }
}

这个变得更奇怪了,但是在大多数情况下,它只会导致一条消息弹出一个带有是/否提示的文字文本(“true”)。

4

1 回答 1

1

看看这个: http: //jsfiddle.net/3kvAC/241这个对话框运行了 1 秒然后消失了?而这个http://msdn.microsoft.com/en-us/library/ie/ms536907(v=vs.85).aspx

它看起来像这样:

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

$(window).unload(function(){
  alert('Bye.');
});
于 2013-01-18T16:35:31.763 回答