1

Firefox拡張機能の開発経験は非常に限られています(XUL Schoolを読んで、非常に単純な拡張機能をいくつか作成しました)。

Firefox XPCOMオブジェクトでは利用できない機能、つまり外部プロセスの実行とそのstdoutの読み取りが必要になりました。これはProtozillaを使用して実行できるようです。そのため、私の問題は、この外部XPCOMオブジェクトをXPIに含めて、拡張機能で使用できるようにすることです。

私の問題はXPCOMオブジェクトのビルド方法ではないことを明確にする必要があります。なぜなら、私はすでにビルドを持っており、何かを変更する必要がある場合は、すでにmakefileを持っているからです。私の問題は:私は今何をしますか?私の拡張機能ツリーは次のようになります

/
->chrome/
->->コンテンツ
->->->browserOverlay.js
->-> ->...-
>->ロケール
->-> -> en-US
->->->-> browserOverlay.dtd
->->->-> browserOverlay.properties
->- >->
...- >->スキン
->- >->...-
>デフォルト/
->->設定/
->->->my_extension.js-
>モジュール/
-> -> common.js-
> chrome.manifest-
> install.rdf

XPCOMファイルはどこに含める必要がありますか?新しいXPCOMオブジェクトが利用可能であることをFirefoxに伝えるために何かをする必要がありますか?

4

3 に答える 3

4

Mozilla開発者センターから、

XPCOMコンポーネント

Firefoxは拡張機能でXPCOMコンポーネントをサポートしています。JavaScriptまたはC++(Gecko SDKを使用)で簡単に独自のコンポーネントを作成できます。

すべての.jsまたは.dllファイルをcomponents/ディレクトリに配置します。これらのファイルは、拡張機能のインストール後にFirefoxを初めて実行したときに自動的に登録されます。

https://developer.mozilla.org/en/building_an_extension

于 2010-08-08T15:17:54.930 に答える
0

Protozillaはこれから派生しました:http://mozilla-enigmail.org/ipc/外部プロセスを呼び出すことを可能にするxulrunner対応のバイナリをそこに見つけることができます。

このコードはMozillaコードベースに含まれていますが(10年後、 https://bugzilla.mozilla.org/show_bug.cgi ?id = 68702およびhttp://hg.mozilla.org/ipccode/を参照)、含まれていません。私の知る限り、Firefox4で利用できます。

于 2011-05-30T20:03:39.917 に答える
0

nsIProcessを使用してプロセスを起動し、既知の場所に書き込んでから、 nsIFileを使用してそのファイルから読み取ることができます。

于 2010-08-08T16:17:22.890 に答える