在我的聊天应用程序中,我具有注销按钮,并且工作正常。
现在,我还需要在关闭浏览器窗口时注销应用程序。如何实现此目的…
提前致谢…
将注销代码添加到ononload事件中。
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程序包,则可以假定网络连接或服务器有问题,并且可以显示注销警告(并可以选择让用户再次登录)。