0

私はJavaプログラムからFirefoxを起動しようとしていますが、これまでのところ、オプションを使用して起動する方法も知っています。しかし、私は特定の引数を送信して、javascriptアドオンがそれを取得できるようにすることに興味があります。たとえば、コマンドRuntime.getRuntime()。exec( "/ usr / bin / firefox")を使用してfirefoxを起動します。私の目標は、Runtime.getRuntime()。exec( "/ usr / bin/firefoxなどを使用することです。 12345 ")、ここで12345は私の引数であり、単純なアドオンを介して取得します。

これは可能ですか?Firefoxの起動時にアドオンに引数を渡す別の方法/方法はありますか?

前もって感謝します。

4

4 に答える 4

2

引数を含むURLでFirefoxを起動します。

于 2012-01-31T18:22:47.630 に答える
1

として使用Runtime.getRuntime().exec(new String[] {"/usr/bin/firefox", "12345"})

Firefoxアドオンでその引数を取得する方法を教えてくれません。それがあなたが主に尋ねているものであるならば、多分あなたの質問を修正しますか?

于 2012-01-31T18:16:36.160 に答える
0

あなたの機能はFirefoxのセキュリティモデルを壊してしまうと思います。ただし、使用できるコマンドがあります。http://www.binaryturf.com/lesser-firefox-command-line-options/

于 2012-01-31T18:20:31.613 に答える
0

最初にあなたの答えに感謝します、あなたのすべては私がこの仕事を成し遂げるのを手伝ってくれます。さらに調査してセキュリティの問題について考えた後、Javaプロセスビルダーを使用して、必要な値の環境変数を追加することになります。

    //Initiates the process i'm about to start.
    ProcessBuilder pb = new ProcessBuilder(args);
    //Gets the system environment.
    Map<String, String> env = pb.environment();
    //Register VAR with value Value as an evironment variable in this process context
    env.put("VAR", "Value");
    //Stats the process initiated in the 1st line.
    pb.start();

これで、アプリケーションを実行し、そのコンテキストに環境変数を設定できます。これで、JavaScriptアドオンでそれらにアクセスしたいだけです。

    var env = Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsiEnvironment);
    var X = env.get('VAR');

ここで、Xは環境変数VAR(以前はJavaコードで定義されていた)の値を持ちます。

于 2012-02-02T12:48:01.403 に答える