2016-07-29 85 views
0

我使用的是GWT 2.5.1,但無法找出原因,但是當在新選項卡中打開鏈接會導致顯示原始內容(來自點擊來源)的相同內容也是如此。下面是一個代碼:在GWT作品的新選項卡中打開鏈接,但在原始選項卡中也顯示其內容

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

它會打開一個新標籤的鏈接沒有問題。奇怪的是,當我右鍵單擊鏈接並選擇「在新選項卡中打開」時,新選項卡將打開,其內容不會流入原始選項卡(點擊鏈接)。另一方面,如果我只點擊鏈接,新標籤打開,但其內容也被注入到原始標籤中。 關於如何解決問題或實現正確工作的任何想法?謝謝

回答

4

這是您的代碼段的預期行爲。

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"); 
} 
+0

沒有。在Firefox和Chrome中,它會在一個新選項卡中打開鏈接,而不會出現問題。奇怪的是,當我右鍵單擊鏈接並選擇「在新選項卡中打開」時,新選項卡將打開,其內容不會流入原始選項卡(點擊鏈接)。另一方面,如果我只點擊鏈接,新標籤打開,但其內容也被注入到原始標籤中。 – belgoros

+0

j.s是正確的 - 或者使用具有「_blank」的Anchor或具有ClickHandler的標籤。 –

+0

@ j.s。非常感謝,它像一個魅力:) – belgoros

相關問題