如何处理浏览器的关闭事件以触发注销?
一段时间前,我一直在寻找一个一致的解决方案,我的决定是在不相信浏览器或用户的情况下处理这种情况。
您无法确定用户是否离开页面以及何时离开页面,即使您使用“ onunload”,也可能在浏览器关闭或离开页面之前未收到事件。而且浏览器崩溃不会给您任何信号,因此相信您知道用户仍在浏览您的页面并可能采取任何进一步措施是有缺陷的。
对于注销用户,您可以做的最好的事情就是设置合适的会话超时,如果需要进一步控制,则可以尝试在关键页面上添加带有“我还活着”信号的AJAX调用,然后注销未登录的用户。不再响应(这将需要启用AJAX / JS的浏览器,并可能排除潜在用户)。