Я довольно новичок в написании дополнений Firefox, но все же я попал в точку, где я собрал воедино работающее расширение, за исключением самого его ядра.необходимо выполнить системную команду для файла.Я нашел в интернете отрывок и попытался его адаптировать, но безуспешно.Из моего 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