2

動作するxulオーバーレイベースのFirefoxアドオンがあります。content / options.xulで定義されたインラインオプションがあり、ユーザーがFirefox->アドオン->拡張機能->{私の拡張機能の名前}->オプションに移動すると正しく表示/機能します

質問です。ユーザーをFirefox->アドオン->拡張機能->{拡張機能の名前}->オプションにワンクリックで移動することで、アドオンにオプションを起動するボタンを作成できますか? options.xulに基づいてダイアログを起動しますか?

現在、ユーザーがFirefoxボタンを介してそこに移動したときにoptions.xulが処理するのと同じ設定を取得および設定する個別のoptions.htmlとoptions.jsを維持していますが、options.htmlとoptions.jsのみをダンプしたいと思います。 main.jsとoptions.xulを維持します。

コメントやコード例は大歓迎です。

4

1 に答える 1

4

BrowserOpenAddonsMgr()これは、次のように、ブラウザウィンドウで定義されたグローバル関数を介して行うのが最も簡単です。

BrowserOpenAddonsMgr("addons://detail/" + encodeURIComponent(addonID));

この関数は、既存のアドオンタブがある場合はそれをフォーカスするか、新しいタブを開きます。オプションまでスクロールダウンしませんが、アドオンに長い説明がある場合は問題になります。Firefox 12以降、これはビュー識別子に「/preferences」を追加することで解決できます。

BrowserOpenAddonsMgr("addons://detail/" + encodeURIComponent(addonID) + "/preferences");

古いFirefoxバージョンでは、運が悪いです(そして、このサフィックスを使用しないでください。機能しません)。もう1つの問題は、アドオンマネージャーがすべての拡張機能のメタデータをフェッチする長い「読み込み」フェーズが存在する可能性があることです。

于 2012-04-17T16:09:15.070 に答える