【问题标题】:Window.addcloseHandler and Window.addwindowClosingHandler not disctinguishes between browser close and browser refresh eventWindow.addcloseHandler 和 Window.addwindowClosingHandler 不区分浏览器关闭和浏览器刷新事件
【发布时间】:2013-02-16 19:41:21
【问题描述】:

我正在使用 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()的功能。

如何区分这两个事件?

【问题讨论】:

标签: javascript gwt event-handling


【解决方案1】:

在客户端无法区分刷新和关闭浏览器窗口。

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

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

【讨论】:

    猜你喜欢
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2011-05-22
    相关资源
    最近更新 更多