Javascript Node JS Chat-告诉是否导航到页面或关闭窗口
我正在向我的网站添加一个节点JS聊天。目前,如果用户使用以下JQuery方法关闭窗口,我将从聊天中清除该用户:Javascript Node JS Chat-告诉是否导航到页面或关闭窗口,javascript,jquery,node.js,navigation,Javascript,Jquery,Node.js,Navigation,我正在向我的网站添加一个节点JS聊天。目前,如果用户使用以下JQuery方法关闭窗口,我将从聊天中清除该用户: $(window).unload(function () { jQuery.get("/leave", {id: session.id}); }); 这非常有效,并告诉node JS服务器用户已关闭窗口,但是如果用户导航到网站上的另一个页面,这也会将用户从聊天室中删除。我有没有办法判断他们是否转到域上的另一个页面,而不是将他们从聊天中删除?当他们导航到另一个页面时,就好像他们正在
$(window).unload(function () {
jQuery.get("/leave", {id: session.id});
});
这非常有效,并告诉node JS服务器用户已关闭窗口,但是如果用户导航到网站上的另一个页面,这也会将用户从聊天室中删除。我有没有办法判断他们是否转到域上的另一个页面,而不是将他们从聊天中删除?当他们导航到另一个页面时,就好像他们正在关闭窗口一样
欢呼声当用户离开聊天室时,检查服务器,而不是客户端 我能看到的唯一问题是,除非您使用JavaScript加载页面,否则您的用户每次浏览网站时都会离开并重新进入聊天室 您可以通过在断开部分设置超时来解决此问题。这不是一个完美的解决方案,但它在大多数情况下都有效 如果您使用的是
socket.io
以下是一些服务器代码:
socket.on('connection', function (client) {
client.on('disconnect', function () {
client.broadcast({ action: "quit", clientId: client.sessionId });
});
});
在客户端,您可以检查action==“quit”
并采取适当的操作