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

时间:2013-09-25 16:13:08

标签: java javascript html angularjs playframework

我的Web应用程序是使用Play Framework 2(后端)和AngularJS(前端)构建的。

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

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

afterLogout() 

进行清理,但我不知道如何生成事件。

的Javascript? HTML吗?还有什么吗?

2 个答案:

答案 0 :(得分:1)

没有好办法检测到这一点。

通常,当会话被清理时,您将保持会话和执行所需的任何清理(因为这意味着用户离开,即您将忘记他/她的)。

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

答案 1 :(得分:-1)

window.onbeforeunload = function() {
  afterLogout();
};