Получить конкретный аргумент с помощью дополнения Firefox - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь запустить firefox из Java-программы, так что я знаю, как это сделать с помощью option.Но я заинтересован в том, чтобы отправить конкретный аргумент, чтобы его мог получить аддон javascript.Например, я использую команду Runtime.getRuntime (). Exec ("/ usr / bin / firefox") для запуска firefox, моя цель - использовать что-то вроде Runtime.getRuntime (). Exec ("/ usr / bin / firefox12345 "), где 12345 - мой аргумент и получение его с помощью простого дополнения.

Возможно ли это вообще?Есть ли другой способ / способ передачи аргумента надстройке при запуске Firefox?

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 31 января 2012

Запустите Firefox с URL-адресом, который содержит ваш аргумент.

1 голос
/ 31 января 2012

Используйте его как Runtime.getRuntime().exec(new String[] {"/usr/bin/firefox", "12345"})

Не могу сказать вам, как получить этот аргумент в вашем дополнении Firefox.Может быть, измените свой вопрос, если это то, что вы в основном задаете?

0 голосов
/ 02 февраля 2012

Прежде всего, спасибо всем за ваши ответы, все вы помогаете мне выполнить эту работу. После некоторых исследований и размышлений о некоторых проблемах безопасности я в итоге использую 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);

0 голосов
/ 31 января 2012

Я думаю, что ваша функциональность нарушит модель безопасности Firefox.но есть команды, которые вы можете использовать, http://www.binaryturf.com/lesser-firefox-command-line-options/

...