2009-04-01 3 views
3

私は、特定のURLを持つブラウザを起動するために使用される静的メソッドを持っています。ブラウザが既に開いている場合、これはアクティブなブラウザウィンドウを引き継ぎます。Javaのデスクトップライブラリは、新しいブラウザタブまたはウィンドウでURLを起動できますか?

これは、ブラウザがデータ入力など他の目的で使用されている場合に問題になります。新しいブラウザウィンドウ(またはタブ)でURLを開く方法はありますか?

public static void openURL(String urlText) 
{ 
    if (Desktop.isDesktopSupported()) 
    { 
     URI uri = URI.create(urlText); 
     try 
     { 
      Desktop.getDesktop().browse(uri); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

代わりに、これを行うより良い方法はありますか?

答えて

2

BrowserLaunch2をご覧ください。特に、新しいウィンドウを開くことを強制するためのthis method

0

Windowsでは、デフォルトブラウザが何であるかを見つける方法があります。あなたは

REG QUERY HKCR\.html /ve 

た後

! REG.EXE VERSION 3.0 

HKEY_CLASSES_ROOT\.html 
    <NO NAME> REG_SZ FirefoxHTML 

あなたは同じコマンドを使用して(どのような値が返されたか)FirefoxHTMLを照会う返すコマンドを使用する必要があり、キー

に次を追加します
REG QUERY HKCR\FirefoxHTML\shell\open\command /ve 

、これが戻ってくる

! REG.EXE VERSION 3.0 

HKEY_CLASSES_ROOT\FirefoxHTML\shell\open\command 
    <NO NAME> REG_SZ "C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1" 

ここから、返された行を解析して、ブラウザ実行可能ファイルの場所を取得できます。

あなたはJavaランタイムクラスを使用して、すべてこれを行うことができます。

Runtime.getRuntime.exec(cmdString); 

これは、カスタマイズされたコーディングの多くを必要としますが、基本的にWindowsでデフォルトのブラウザにアクセスするには、独自のAPIを作成することができます。他のプラットフォーム(Mac用、Linuxの、など)については

Here is an example of accessing the Windows registry in Java.

You could also search Google for more information on finding default browser in the registry.

、私はデフォルトのブラウザへのパスを取得するための具体的な方法があると確信しています。

希望すると便利です。

+0

私はその質問に答えるとは思わない。問題は「デフォルトブラウザでURLを開くにはどうすればよいですか」というのではなく、「新しいタブでURLを開くにはどうすればよいですか」でした。 –

+0

このメソッドを使用して、新しいブラウザウィンドウを表示できます。 –

1

これは、起動コードではなく、ブラウザで設定する必要があります。いくつかの起動フラグを見つけて、必要な動作をさせることができるかもしれませんが、その過程でコードを特定のブラウザに結びつけることになります。

0

java.awt.Desktop APIはこのレベルの機能を提供していないようです。ここで

たちは、これが2006年

JDIC's WebBrowser言及が応答を頼まれたjava.net forumsに見つかったリンクです。

1

あなたはデフォルトであるブラウザを識別し、次のコマンド 使用する寄席メソッドを使用することができます。

のFirefoxを。一部のブラウザはタブをサポートする、または、コマンドラインはタブでURLを開くためにparamsはない持っていないことをexeファイル-new-タブ IE7 http://blogs.msdn.com/tonyschr/archive/2007/01/19/ie-automation-amp-tabs.aspx オペラ-newpage

注意。その場合、AHKスクリプトエンジンを使用することができます。

関連する問題