0

別の Firefox 拡張機能 (MainExtension) にいくつかの機能を追加する Firefox 拡張機能 (MyPlugin) を作成しました。Mozilla Add-ons ページに置きたいのですが、そのような拡張機能を構築する最善の方法について最初に確認したいと思います。

現在、chrome.manifest で MainExtension の xul を MyPlugin の xul にオーバーレイしています。MyPlugin の xul では、タグはMainExtension.MyPlugin、オーバーレイの要素によって呼び出すことができるすべてのメソッドを定義する .js ファイルを呼び出します。

その設定自体は大丈夫ですか?プラグインを Mozilla Add-ons ページに最初にアップロードしようとしたとき、install.rdf の「requires」要素がサポートされていないことに気付きました。これで、MainExtension が実際にインストールされているかどうかを確認できると思っていました。MainExtension がインストールされていることを確認するために、プラグインにエラー チェックを入れる必要がありますか? MainExtension がインストールされていない場合、chrome.manifest のオーバーレイ行は失敗するだけで、それ以外は何も起こらないと思います。機能的には、メインの拡張機能なしでプラグインをインストールする予定はないので、これは問題にならないはずですが、他の人がダウンロードできる場所に拡張機能を投稿したいので、問題が発生していないことを確認したいです彼らのために(そして私は'

4

1 に答える 1

0

そこで私は自分の拡張機能にもう少し取り組み、オンラインでさらに多くのドキュメントを読み、経験豊富な開発者に相談しました。今のところ、モジュールを使用して拡張機能の基本的な内部部分を定義するという解決策にたどり着きました。モジュールを使用して Firefox にユニバーサルな MyPlugin オブジェクトをモジュールに作成します。次に、MainExtension の xul のオーバーレイによって呼び出されるスクリプトを使用して、MainExtension の XUL 要素とのやり取りに関連する関数だけを含む別のクロム オブジェクト (MyPluginChrome などと呼ばれる) を作成します。質問をしたとき、プラグインをスタンドアロンにするために XPCOM コンポーネントを定義する必要がありましたが、それは既存の拡張機能に対する単純なプラグインにとってやり過ぎのように思えました。

上記で説明したことを行う方法を学習するために、Mozilla Developer Network サイトのXUL School チュートリアルのJavaScript オブジェクト管理ページを使用しました。このチュートリアルは少し風変わりですが (別のソースから改作されたため)、非常に役に立ちます。これはMDNのBuilding an Extensionページとは別のものです。他のいくつかの古い Web ページは Google でより多くのヒットを記録していますが、XUL School のチュートリアルが最も有益で有用であることがわかりました。

于 2012-11-08T22:50:30.167 に答える