2013-07-31 76 views
1

我想在用户试图离开我的GWT应用程序时显示确认对话框。如果用户选择留在应用程序中,则不做任何事情,否则应用程序应在关闭前首先向服务器发送注销请求。确认浏览器在GWT中退出

我该怎么做?

使用哪个处理程序?

Window.addCloseHandler

基础上methods it has Window.addWindowClosingHandler

回答

7

addWindowClosingHandler似乎是你所需要的。

编辑:我认为你需要做的是......当窗口关闭时,即当用户点击关闭或重新加载按钮时,调用addWindowClosingHandler。当窗口关闭时调用addCloseHandler。所以你用!您可以使用关闭处理程序来显示确认对话框,然后使用关闭处理程序来完成您只想关闭的东西。

Window.addWindowClosingHandler(new Window.ClosingHandler() { 
     @Override 
     public void onWindowClosing(ClosingEvent event) { 
      event.setMessage("Do you wanna close?"); 
      System.out.println("Closing..."); 
     } 
    }); 

    Window.addCloseHandler(new CloseHandler<Window>() { 
     @Override 
     public void onClose(CloseEvent<Window> event) { 
      System.out.println("Closed!"); 
     }  
    }); 
+0

是的,但如果用户选择留下来,如何取消关闭事件 – mmohab

+0

嗯,不知道这一点,让我试着弄明白。 – Marconius

+0

好吧,我想我知道了,编辑我的答案! – Marconius