Java 如何知道用户何时关闭了web应用程序

Java 如何知道用户何时关闭了web应用程序,java,javascript,html,angularjs,playframework,Java,Javascript,Html,Angularjs,Playframework,我用PlayFramework2(后端)和AngularJS(前端)构建了我的web应用程序 当用户退出我的web应用程序时,我需要在后端执行一些清理调用(关闭浏览器选项卡或注销) 我使用来自Joscha Feth的插件来处理登录和注销,所以我想我可以调用全局方法 afterLogout() 做清洁,但我不知道如何生成事件 Javascript?Html?还有什么吗?没有好办法检测到这一点 通常,在清理会话时,您将保持会话和需要执行的任何清理都运行(因为这意味着用户已经离开,即您将忘记他/她

我用PlayFramework2(后端)和AngularJS(前端)构建了我的web应用程序

当用户退出我的web应用程序时,我需要在后端执行一些清理调用(关闭浏览器选项卡或注销)

我使用来自Joscha Feth的插件来处理登录和注销,所以我想我可以调用全局方法

afterLogout() 
做清洁,但我不知道如何生成事件


Javascript?Html?还有什么吗?

没有好办法检测到这一点

通常,在清理会话时,您将保持会话和需要执行的任何清理都运行(因为这意味着用户已经离开,即您将忘记他/她)


您可以尝试在卸载之前使用
onbeforeunload
,但浏览器严重限制了您在此处的操作,因为浏览器确实想关闭,它不想等待代码完成。执行任何类型的AJAX都是非常不可靠的。

您无法控制用户何时关闭浏览器窗口/选项卡,因此您唯一的选择是通过用户注销操作启动操作。这不行。请注意,这将在关闭与web应用程序相关的任何选项卡时执行。在Play Framework中清理会话(以便添加指令)时,我如何进行拦截?我不熟悉Play Framework(或Java)。如果他们有一个会话管理器,你会想连接到垃圾收集功能。谢谢你的建议,我将对此进行研究。
window.onbeforeunload = function() {
  afterLogout();
};