浏览器再次关闭问题

时间:2011-07-15 09:01:53

标签: java gwt browser

我的系统跟踪用户的工作时间,工作流程如下:

如果用户登录他/她,并且按钮按钮out / in按钮也会注销处理事件。

问题是当用户关闭浏览器/标签时,我无法处理他或她已经出局。我已经阅读过有关处理浏览器/标签关闭事件的内容,但不幸的是,这几乎是不可能的。我的下一个方法是不可靠的,使用cookie,当页面加载该cookie时,我会在页面onUnloads时保存cookie,当用户登录时,我将获得包含用户上次活动的cookie值更新出门时间。但缺点是用户可能会使用不同的浏览器/机器访问该站点,这些浏览器/机器没有关于上一个活动的正确信息。

3 个答案:

答案 0 :(得分:0)

我个人会查看会话对象。当它到期时,你可以做任何你需要做的事情。

答案 1 :(得分:0)

你可以做的是每分钟对服务器进行一次javascript调用(使用Javscript计时器函数,如下所述:http://www.w3schools.com/js/js_timing.asp)。

但我不确定您使用浏览器的方法是否正确。根据定义,浏览器/服务器连接未连接。 Cookie只是维护连接的一种方式,因为HTTP协议不提供此类功能。

第二点是:当用户从另一个浏览器连接时,您希望保留跟踪。那么用户在同一时间使用2种不同的浏览器呢?你如何检测用户(他应该在浏览器打开时进行身份验证还是依赖IP地址)?我建议有一个适当的应用程序来处理这个问题:不是浏览器应用程序。写一个应该不是很复杂。

嗯,小程序和Adobe Flash可以成为增强浏览器功能的解决方案......

答案 2 :(得分:0)

您是否尝试通过Window.addCloseHandler()添加closeHandler。当用户关闭窗口/选项卡时调用它。在处理程序中,您可以向服务器发送关闭消息或其他内容。