我正在寻找一种自动将用户状态设置为“离线”的方法,为此我需要执行一个JavaScript函数,除非有更好的想法。当用户尝试离开页面时,如何运行功能?我知道有一种方法可以显示一个消息框,所以应该有办法实现这一点。
答案 0 :(得分:5)
使用unload
方法调用ajax
方法。请注意重要的async
属性,该属性向浏览器说明在关闭窗口之前需要等待HTTP响应(以确保服务器处于“离线”状态)。
$(window).unload(function() {
$.ajax({
url: "setoffline.php",
async: false
});
});
答案 1 :(得分:0)
尝试使用这个。
<body onbeforeunload="return RunOnClose()">
function HandleOnClose() {
//do your magic here
return true;
}
答案 2 :(得分:0)
当窗口“卸载”时会触发跟随事件:
window.onbeforeunload
我在类似场景中将onload与onload事件处理程序配对,我的数据库中有一行跟踪用户上次登录会话。它在登录/访问网站时有一个“输入”日期,我会在onunload事件中设置“Last seen”DateTime,但我也在页面的“onload”上清除“Last seen”日期时间
因此,他们最后一次关闭任何页面时,设置了“上次查看”日期并且它仍然存在