关闭浏览器捕获事件,并执行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");