2

こちらもググって検索してみました。しかし、私には運がないようです。

Addon-SDK を使用して、小さな Firefox アドオンを作成しています。UI要素以外はすべてクールに見えます。実装するのは本当に難しいです。

https://github.com/mozilla/addon-sdk/wiki/Community-developed-modulesと Mozilla XULにある toolbarbutton について読み、ブラウザ ウィンドウを追跡して独自のツールバー ボタンを作成し、WindowUtils を使用することにしました。 onTrack() とブラウザ XUL DOM の操作。

ほとんど完了しましたが、アドオンを無効にして再度有効にしようとすると. ボタンは消えず、ボタンが2つありました。

アドオンが無効化または削除されたときに、そのボタンと他の XUL 要素を破棄または削除する方法を教えてください。アドオンSDKを使用しています。これは再起動なしの拡張機能です。

もう 1 つの質問は、 BrowserXULDom WindowUtils または WindowMediator を操作するときに何を使用すればよいかということです。それとも、どちらがより速くて便利ですか?

4

3 に答える 3

1

最も簡単なのは、Erik Vold のツールバー ライブラリを使用することです。

https://github.com/voldsoftware/toolbarbutton-jplib/blob/master/lib/toolbarbutton.js

独自に作成することに決めた場合は、ボタンのアンロードを処理する Erik のコードを参照することをお勧めします。

于 2012-10-20T18:31:18.387 に答える
1

私は解決策を見つけました!

アドオンの無効化またはアンインストール イベントをリッスンし、その時点で XUL 要素を削除できます。そのような:

exports.onUnload = function(reason) {
  // remove code here
}

アドオン SDK のドキュメントによると、アドオンのアンインストール イベントにいくつかのバグがありますが、すぐに解決されると思います。

SDKにはアンロードモジュールがありますが、まだ試していません。誰かがそれについて共有してくれることを願っています。

上記の解決策は私にとってはかなりうまくいきます。これがあなたにも役立つことを願っています。ありがとうございました!

于 2012-10-21T17:38:59.363 に答える
0

Firefox アドオン SDK にはバグがあるため、アドオンのアンインストールを検出したい場合。「アンインストール」の代わりに「無効化」を使用する必要があります

exports.onUnload = function (reason) {
         if (reason==='disable') {
            //remove code here
         }
    };
于 2014-07-01T14:43:48.833 に答える