【问题标题】:Open a link in a new tab in GWT works but displays its content in the original tab as well在 GWT 的新选项卡中打开链接可以工作,但也会在原始选项卡中显示其内容
【发布时间】:2016-07-29 11:56:58
【问题描述】:

我使用的是 GWT 2.5.1,但不知道为什么,但在新标签页中打开链接时,也会在原始标签页(点击的来源)中显示相同的内容。这是一个代码:

private void createMyloLink(String text, String targetUrl) {
        Anchor link = new Anchor(text, targetUrl);
        link.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                Window.open(link.getHref(), "_blank", "");
            }
        });
    }

在 Firefox 和 Chrome 中,它会在新标签页中毫无问题地打开链接。奇怪的是,当我右键单击链接并选择“在新选项卡中打开”时,新选项卡打开并且其内容不会流入原始选项卡(我单击链接的位置)。另一方面,如果我只是单击链接,则会打开新选项卡,但其内容也会注入到源选项卡中。 关于如何解决问题或实现正确工作的任何想法?谢谢

【问题讨论】:

    标签: gwt tabs anchor


    【解决方案1】:

    这是您的代码 sn-p 的预期行为。

     Anchor link = new Anchor(text, targetUrl);
    

    如果单击此锚点,targetUrl 将在当前选项卡中打开。

    通过添加ClickHandler,将打开一个带有targetUrl 的新标签。

    解决方案:

    使用目标“_blank”创建锚点并删除ClickHandler

    private void createMyloLink(String text, String targetUrl) {
        Anchor link = new Anchor(text, targetUrl, "_blank");
    }
    

    【讨论】:

    • 不。在 Firefox 和 Chrome 中,它会在新标签页中毫无问题地打开链接。奇怪的是,当我右键单击链接并选择“在新选项卡中打开”时,新选项卡打开并且其内容不会流入原始选项卡(我单击链接的位置)。另一方面,如果我只是单击链接,新选项卡会打开,但其内容也会注入到源选项卡中。
    • j.s 是对的 - 要么使用带有“_blank”的锚点,要么使用带有 ClickHandler 的标签。
    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    相关资源
    最近更新 更多