我正在使用JavaScript函数窗口检测器onbeforeunload
,但是当我单击浏览器的“关闭X”按钮时,它无法检测到事件。是我的代码有问题还是它的默认行为?
$(window).on('unload onbeforeunload close', function (e) {
e = e || window.event;
if (e) {
if(localStorage.openpages==""||localStorage.openpages==null){
var params = {
isonline:0
}
$.ajax({
async: false,
type: "POST",
url: '<?= base_url()?>UserProfile/setonlinestatus',
data: params,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
timeout: 60000,
success: function (response) {
alert("")
},
error: function (jq, status, message) {
var e = message;
}
});}
}});
//navigator.onLine it check whethe ri am online or not
答案 0 :(得分:0)
(卸载和onbeforeunload)未完成ajax请求,浏览器关闭。我们需要通过navigator.sendBeacon()方法发送相同的请求,这用于通过HTTP将少量数据异步传输到Web服务器。