我正在建立一个聊天室,我必须确定用户是否在线。因此,当用户登录时,我将他的状态更新为在线,当他注销时,我将他的状态更新为离线,但是当用户简单地关闭浏览器时,状态仍保持在线。
为了解决这个问题,我需要在浏览器终止时执行服务器端代码。我该怎么做呢?
我相信这就是您正在寻找的。
当用户关闭浏览器窗口时,unload
会触发该事件。您可以在此事件上触发一个 ajax 请求,该请求将用户关闭他/她的窗口的信息发布到服务器。
window.onunload = function(){
// make an ajax request that notifies the
// server that user has closed the window
}