0

背景情報:

この 1 週間、私は Chrome 拡張機能をいじっていましたが、拡張機能の作成に問題はありませんでした。すばらしい、Chrome は開発プロセスを非常に簡単に習得できるようにします。

できるだけ多くのブラウザー用にこの拡張機能を作成したいと考えているので、次に Firefox を選択することにしました。

なんて混乱!そこのドキュメンテーションは、私に頭痛の種を与え、これまでの時間を無駄にし、非常に複雑で、一般的に整理されていませんでした。

出発点として使用できると思われる単純な拡張機能のコード サンプルを見つけることができ、いじり始めました - 結構です...

このサンプル拡張機能は、ブラウザーを再起動せずに拡張機能をインストールできるようにするためにブートストラップ手法を使用しているため、Firefox 4 未満では機能しないことがわかりました。うわぁぁぁぁ……

ここで、私の質問に到達します。

  1. 以前のバージョンの Firefox で動作する Firefox 7 用の拡張機能を開発することは可能ですか? それが再起動なしのインストールのカットオフポイントである場合、Firefox 4より前のことは気にしません。私がこれまで時間を費やして作成したものが一貫して機能し、ユーザーが次にアップグレードするように求められたときに 1 週​​間以上機能することを知っておくとよいでしょう.

  2. 逆はどうですか?Firefox 3.5 から Firefox 7 までと互換性のある拡張機能を作成できますか? インストールするには再起動が必要になることは承知していますが、バージョンに関係なく機能する拡張機能が得られれば許容されます。

  3. このような経験のある人は、私がここで自分自身を理解していることを少し共有できますか? これは開発プラットフォームの悪夢のようであり、拡張機能を常に修正しているようです。

関連情報の最後の 1 つ:

私が開発している拡張機能は、純粋に JavaScript ベースです。この機能は機能するはずです (私は思いますか?)。これは、この時点でバージョン間で実装を実際に変更してはならない 1 つの機能「コンテンツ スクリプト」に依存しているためです...そうですか?

それで、私は正確に何が欠けていますか?ブラウザーのすべてのバージョンで動作する、管理しやすい Firefox 拡張機能をどのように作成しますか?

みんな、ありがとう!:)

4

1 に答える 1

2

「従来の」拡張機能とアドオン SDK で構築された拡張機能を区別する必要があります。前者は、ブラウザーが使用するすべての API に直接アクセスできるため、はるかに強力ですが、それが、記述がより複雑であり、ドキュメントが順序付けされていない理由でもあります (できることは非常に多くありますが、 Chrome よりもはるかに優れています)。また、ブラウザが変更されると壊れる可能性が高くなります。一方、アドオン SDK は、Chrome によく似た限定された API を提供します。アドオン SDK は現在、Firefox 4 以降のすべてをサポートしています (はい、再起動不要のインストールのため)。ブラウザの変更は、アドオン SDK の新しいバージョンでアドオンを再コンパイルするだけで済みます。実際、その再コンパイルはaddons.mozilla.org でホストされているアドオンについては、将来自動的に行われる可能性があります。あなたの質問に:

以前のバージョンの Firefox で動作する Firefox 7 用の拡張機能を開発することは可能ですか?

もちろんそうだ。アドオン SDK は現在、アドオンが Firefox 4 Beta 7 から Firefox 8 Alpha 1 までのすべてのバージョンと互換性があるとマークしています。それらのすべてで動作します。Firefox 3.x との互換性を維持することもできますが、何をするかによっては、多少の努力が必要になる場合があります。重要な情報:

逆はどうですか?Firefox 3.5 から Firefox 7 までと互換性のある拡張機能を作成できますか?

どちらに行っても構いません。ただし、Firefox 3.x のサポートに多くの時間を費やすことはお勧めしません。Firefox 3.5 のサポートが終了したため、関連するバージョンは Firefox 3.6 のみです。私のアドオンの統計によると、Firefox ユーザーの約 18% がそれを使い続けています。今後数か月で、特に Mozilla がこのブランチのサポート終了を発表すると、この割合は大幅に小さくなるでしょう。したがって、それをサポートする新しいアドオンの場合、通常は正当化されません。

このような経験のある人は、私がここで自分自身を理解していることを少し共有できますか?

アドオンがどれほど複雑になるかによって異なります。Chrome 拡張機能に相当するものを開発していることを考えると、互換性の問題がないことを意味するアドオン SDK を使用する可能性が最も高くなります。従来のアドオンと同様に、あいまいな実装の詳細に依存しない単純なアドオンも、通常、互換性を維持するのに問題はありません (Firefox 3.5 以降、1 つの調整を必要としなかった 2 つのアドオンがあります)。 . もちろん、システムの奥深くに入るアドオンはより問題があります。

于 2011-10-05T05:47:03.027 に答える