0
我的应用程序依赖于能够设置用户在线/离线状态。window.onbeforeunload不总是开火吗?
我已经通过使用window.onbeforeunload查看用户何时离开页面来解决此问题。
问题是,下面的代码并不总是得到执行,因此仍然说有些人在离开页面时处于联机状态。
这是我当前的代码:
window.onbeforeunload = function (event) {
$.ajax({
type: 'GET',
url: './changeStatus.php?cid=' + ccID + '&status=0',
contentType: "application/json",
dataType: 'json',
cache: false,
async: false,
success: function (data) {},
error: function (e) {
//console.log(e);
}
});
return;
};
任何想法如何,我可以迫使这总是得到执行? (在所有浏览器上)
它应该在所有主流浏览器中支持。什么时候它不是射击? – adeneo 2013-02-10 22:15:03
有时在IE中似乎 – Laine 2013-02-10 22:15:18
IE介绍了这个,并且从IE4开始支持据我所知?您需要在未触发的情况下添加更多细节。另一方面,在IE中,问题通常是,即使您尝试通过禁用缓存来延迟缓存(这不会工作顺便),ajax函数的速度也不足以在页面关闭之前发送请求。 – adeneo 2013-02-10 22:15:53