Javascript 如何在Firefox加载项中执行命令?
我对编写Firefox插件还很陌生,不过,我已经把一个工作扩展拼凑到了一起,除了它的核心部分 在代码中的某个时刻,我需要对文件执行一个系统命令。我在网上发现了一个被剪掉的网站,并试图对其进行修改,但运气不佳。从myJavascript 如何在Firefox加载项中执行命令?,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,我对编写Firefox插件还很陌生,不过,我已经把一个工作扩展拼凑到了一起,除了它的核心部分 在代码中的某个时刻,我需要对文件执行一个系统命令。我在网上发现了一个被剪掉的网站,并试图对其进行修改,但运气不佳。从myxpi/components/script.js: var cmd = '/usr/bin/somecommand' var args = ['-option', 'value', f.path ]; var execFile = Components.classes["@mozi
xpi/components/script.js
:
var cmd = '/usr/bin/somecommand'
var args = ['-option', 'value', f.path ];
var execFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
execFile.initWithPath(cmd);
if (execFile.exists()) {
process.init(execFile);
process.run(false, args, args.length);
}
有人能告诉我这里怎么了吗?我已经组装了这个命令,并获得了文件名,但是我无法让Firefox执行这个代码片段
这是真正需要的execFile
、initWithPath
、createInstance
等东西吗??我只想像在CLI中一样执行命令:
$ somecommand -option value filename
如果
cmd
和args
更改为:
var cmd = '/usr/bin/say';
var args = ['hello', 'world' ];
正如Neil所说,我们需要更多的故障排除信息。启用并检查是否有任何消息。您如何知道它没有执行,是否出现异常?