私はFirefoxアドオンを書くのがとても新しいですが、私はそれの中核を除いて、私が一緒に働いている拡張機能をパッチしたポイントに達しました。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
などです。本当に必要ですか?ニールが言うように、我々はトラブルシューティングのためのより多くの情報を必要とする、
var cmd = '/usr/bin/say';
var args = ['hello', 'world' ];
:私はちょうどちょうどCLIのようにコマンドを実行したい:
$ somecommand -option value filename
あなたはそれが実行されないことをどのように知っていますか?例外がありますか? – Neil