我需要关闭与ajax的用户会话,当这关闭我的应用程序的导航或选项卡。为此我使用事件beforeunload,问题是当我用F5(cmr + r,ctrl + r)重新加载页面时导航打开警告诊断并且我不需要这个。< / p>
$(window).bind('beforeunload',function (e) {
var message = 'Are you sure you want to leave?';
return message;
}
$(window).bind('unload', function () {
var dataStatus = $('button[name="status"]').attr('data-status');
if (dataStatus == 'online') {
var req = $.ajax({
url: 'mi-url',
type: 'POST',
async : true,
data: {data: JSON.stringify({user_id: <?php echo $user->getId() ?>})},
dataType: "JSON"
});
}
});
等待回复,谢谢。
答案 0 :(得分:0)
您无法区分关闭标签和标签卸载/重新加载。相反,您的旧方法,您可以设置间隔5分钟或一些有意义的时间段,并向服务器发送有关会话的通知。