2012-01-28 264 views
1

有没有办法检测浏览器窗口是否使用GWT关闭。有没有办法检测浏览器窗口是否关闭?

Window.open("some_url", "__blank", null); 

我需要检测阉这个窗口通过GWT打开关闭:例如一个窗口,通过GWT使用此代码打开。有没有办法做到这一点?

+0

http://stackoverflow.com/questions/6804118/how-to-create-one-database-connection-per-user-on-a-java-servlet-application/6804785#6804785 – 2012-01-29 05:50:27

回答

2

我认为,这是一个真正的问题,使其跨浏览器。 GWT有

Window.addCloseHandler(new CloseHandler<Window>() { 
      public void onClose(CloseEvent<Window> windowCloseEvent) { 

      } 
     }); 

它处理onunload事件(在浏览器关闭文档之前发生)。 但是,它并不适用于所有浏览器处理浏览器关闭事件,因为刷新页面时也会触发此事件。

由于GWT还生成JavaScript看到这篇文章:Window Close Event of Browser 下面是文章的结论是:

结论

正如我们已经讨论过,有没有100%傻瓜证明的方式 在很多情况下检测浏览器关闭事件,上述技术 可能会失败。例如,如果用户从 任务管理器中杀死浏览器的进程,则可能会有更多的情况。然而在很多情况下,这种技术可以很方便。祝你好运,快乐节目。

+0

这是正确的,因为重新加载页面应该再次给你entier内容,而不是上次会话的一些剩菜...... – Stefan 2012-01-28 11:34:59

+0

@Jamshid为什么跨浏览器?是不是一个新的窗口可以打开任何类型的页面(有没有跨浏览器的问题?)那是什么意思? – xybrek 2012-01-28 18:08:52

+0

在所有浏览器中打开都是一样的,但不能区分刷新窗口和关闭浏览器。这两个事件都由'onUnload'事件处理。 – 2012-01-29 08:09:13

相关问题