我正在尝试从一个Java程序启动firefox,到目前为止我知道如何使用选项。但我有兴趣发送一个特定的参数,所以一个JavaScript加载项可以获得它。 例如,我使用命令Runtime.getRuntime()。exec(“/ usr / bin / firefox”)来启动firefox,我的目标是使用类似Runtime.getRuntime()。exec(“/ usr / bin / firefox” 12345“),其中12345是我的论点,并通过一个简单的附加组件获得它。
这有可能吗?是否有另一种方法/方法将参数传递给firefox start上的加载项?
提前致谢。
答案 0 :(得分:2)
使用包含您的参数的网址启动Firefox。
答案 1 :(得分:1)
将其用作Runtime.getRuntime().exec(new String[] {"/usr/bin/firefox", "12345"})
无法告诉您如何在Firefox插件中获取该参数。如果这是你主要问的话,也许可以修改你的问题?
答案 2 :(得分:0)
我认为你的功能会打破firefox的安全模型。但是您可以使用命令http://www.binaryturf.com/lesser-firefox-command-line-options/
答案 3 :(得分: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代码中定义);