3

我正在使用 GWT,在我的应用程序中,我想清除会话历史记录并在关闭浏览器上强制注销用户。但是单击刷新时,用户应该已登录。我为此编写了以下代码。

Window.addCloseHandler(new CloseHandler<Window>() {
    @Override
    public void onClose(CloseEvent<Window> event) {
        logoutRPC();
    }
});

Window.addWindowClosingHandler(new Window.ClosingHandler() {
    public void onWindowClosing(Window.ClosingEvent closingEvent) {
        logoutRPC();
    }
});

但从以上两点来看,我无法实现刷新调用的功能GWT.closeHandler()

如何区分这两个事件?

4

1 回答 1

0

无法将刷新与客户端浏览器窗口的关闭区分开来。

本质上,您的 GWT 应用程序是在浏览器窗口范围内运行的。如果它被刷新,您的应用程序实例将被删除,浏览器会加载 url,然后创建一个新实例。

当您调试并且您的 GWT 应用程序onModuleLoad()函数在您的应用程序类的新实例上再次被调用时,您可以看到这一点。

于 2015-09-30T09:02:40.940 回答