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