基本上,我想通过更新我的MySQL数据库并在用户关闭浏览器或页面时可能结束他们的会话来将我的用户设置为“离线”。
我看到过一个网站这样做。
有人能解释一下如何做并且提供一个示例吗?
谢谢您的帮助。
基本上,我想通过更新我的MySQL数据库并在用户关闭浏览器或页面时可能结束他们的会话来将我的用户设置为“离线”。
我看到过一个网站这样做。
有人能解释一下如何做并且提供一个示例吗?
谢谢您的帮助。
window.onunload
来在用户离开页面/关闭标签页时触发AJAX调用。window.onunload = function(){
// AJAX call to mark user "offline"
}
编辑:我建议在单击链接时设置一个变量,以便仅在用户离开页面时运行。
使用jQuery,可以这样做:
$('a').click(function(){ // Run for all links
$('body').data('linkClicked', true); // Set global variable
});
$(window).unload(function(){ // jQuery version of window.onunload
if(!$('body').data('linkClicked')){ // Check global variable
$.ajax({
url: 'url',
data: {some: data},
async: false // this locks the browser, but it may be needed to make
// sure the ajax call runs before the tab is closed
});
}
});
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});