【问题标题】:Browser tab close detect in gwtgwt中的浏览器选项卡关闭检测
【发布时间】:2011-01-28 10:01:53
【问题描述】:

我正在开发一个 gwt 应用程序,我将只支持 ie7。现在我需要检测浏览器选项卡关闭事件。我尝试过 Window.addWindowClosingHandler(...) 。但是,当我们单击页面中的任何 url 或刷新时,它就会被触发。我只想检测浏览器关闭事件。我不想捕获任何其他事件,例如浏览器刷新、url 点击。有没有办法只检测到这一点。

【问题讨论】:

    标签: javascript gwt browser internet-explorer-7


    【解决方案1】:

    它应该可以工作

    Window.addCloseHandler(new CloseHandler<Window>() {
    
            @Override
            public void onClose(CloseEvent<Window> event) {
                Window.alert("bye bye beautiful");
    
            }
        });
    

    [编辑]
    或者也许你搜索onBrowserEvent(); 并检测用户做了哪个事件

    public void onBrowserEvent(Event event)
        {
            switch (DOM.eventGetType(event))
            Event.onClick
            Event.onPaste
            Event.onLoad
    

    【讨论】:

    • 嗨希拉尔,感谢您的回答。实际上我想确定关闭事件是如何被触发的。我想知道用户是否单击了浏览器关闭或刷新按钮或页面中的某些超链接。基于此,我想做点什么。
    【解决方案2】:

    JavaScript 不会公开导致页面关闭的原因,因此很遗憾 GWT 无法公开此信息。

    底层 JavaScript 事件是 onbeforeunload 事件。

    【讨论】:

      【解决方案3】:

      您可以使用会话 cookie,如该问题的选定答案中所述: GWT WindowClosingHandler firing on Browser refresh too

      【讨论】:

        猜你喜欢
        • 2012-09-11
        • 2020-09-25
        • 2011-03-11
        • 1970-01-01
        • 2014-02-09
        • 2017-12-17
        • 2015-12-27
        • 2021-01-11
        相关资源
        最近更新 更多