关闭浏览器事件

关闭浏览器捕获事件,并执行ajax...

1.先执行onbeforeunload,返回提示语句,‘离开此页’和‘留在此页’为固定按钮且无法捕获点击了哪个按钮。

window.onbeforeunload = function() {
  if (true) {
    return "确认要退出吗?";
  } else {
    return null/undefined;//不弹出提示框
  }
}

2.后执行unload,可以做一些操作。

window.onunload = function() {
  $.ajax({

    async : false,
    type : "post",
    url : "",
    success : function(data) {},
    error : function(jqXHR, textStatus, errorThrown) {},
    complete : function(jqXHR, textStatus, errorThrown) {}
  });

}

Remark:async: false,(默认true);false为同步请求,方法中的Ajax请求将整个浏览器锁死,执行结束后,才可以执行其它操作。当async: true 时,ajax请求是异步的,会继续执行后面的语句。

3.移除事件。

$(window).unbind("beforeunload unload");

posted on 2017-06-15 10:49  幻海蓝鱼  阅读(166)  评论(0编辑  收藏  举报

导航