解决方法
将您的注销代码添加到
onunload事件.
window.onunload = function () { //logout code here... }
在JQuery中,您可以使用.unload()功能.请记住,您没有太多时间,因此您可以发送Ajax请求,但结果可能无法到达客户端.
window.open("logout url","log out","height=10,width=10,location=no,menubar=no,status=no,titlebar=no,toolbar=no",true);
window.onbeforeunload = function(event) { //if you return anything but null,it will warn the user. //optionally you can return a string which most browsers show to the user as the warning message. return true; }
另一个技巧是每隔几秒钟对客户端进行一次ping操作.如果没有回复,则假设用户已关闭窗口,浏览器已崩溃或网络问题无论如何都已结束聊天会话.在客户端,如果您没有收到此ping包,则可以假设网络连接或服务器出现问题,您可以显示注销警告(并可选择让用户再次登录).