2017-02-13 48 views
1

我想在默認瀏覽器中打開來自我的JAVA代碼的URL。以下是我的代碼如果已經從java打開鏈接,請打開相同的瀏覽器選項卡

Desktop desktop = Desktop.getDesktop(); 
if(desktop != null){ 
     try { 
      desktop.browse(URI.create(Url)); 
     } catch (IOException err) { 
      err.printStackTrace(); 
     } 
    } 

但是每次它即使對於相同的URL也會打開新的選項卡。有什麼辦法可以限制這個嗎?它應該打開相同的標籤如果URI已經打開。我該如何做到這一點

+1

但是,我不認爲這可能是不適當的方法,如果你爲每個「URL」做它。因爲可能有一個sceanrio,你需要在兩個不同的tabs打開不同的屏幕相同的應用程序。如果在登錄後輸入登錄URL,登錄屏幕將按照指示被重定向到默認URL。那麼可以告訴我你嘗試接近這個邏輯的場景嗎? –

+0

@srikanthr正在爲我的應用程序加載手冊頁在瀏覽器中,如果已經打開,我不想在新瀏覽器中打開它。 – HardRocker

回答

0

API中沒有什麼比「啓動默認瀏覽器並瀏覽給定的URL」更好的控件。

API的請求發送到本地桌面/窗口管理器,由於「默認瀏覽器」可以是幾十個程序中的任何一個(甚至不存在),所以沒有通知瀏覽器想要的方法如果它已經包含給定的URL,則匹配現有的選項卡/窗口。

對於通過進程間通信提供此類API的特定瀏覽器,您可能可以實現此目標,但它可能非常適合平臺和瀏覽器。

您也可以使用用戶界面測試工具進行調查。一個可能的例子是Selenium,但還有很多其他的例子。

+0

感謝您的反饋。但它不會是瀏覽器的具體情況,但我打開這個URL與默認瀏覽器可以是任何東西。當你說使用UI測試工具時,我也沒有明白你的觀點。我在我的Java桌面應用程序中使用上面提到的代碼。 – HardRocker

相關問題