Google Chrome拡張機能をFirefoxまたはSafariブラウザ拡張機能に変換することは可能ですか?
ChromeとFirefoxアドオンはどちらも基本的にJavaScriptコアに基づいていますが、Firefoxは設計上、はるかに拡張可能です。GeckoエンジンとXUL(MozillaのXMLユーザーインターフェイス言語)により、 Chrome(およびWebKit)はその「アプリ」の動作をサンドボックス化しようとしますが、拡張機能でできることの自由度ははるかに大きくなります。
つまり、はい、Chrome=拡張機能は、Firefoxの拡張機能にすることができます。Firefoxが目的のAPIを提供している場合に限ります。ChromeのDevTools SDK固有の FirefoxのJetpack SDK固有のコンテンツを含むコンテンツ(システムコールなど、拡張機能内で行うことなど)。
一方、その逆は常に正しいとは限りません。 Firefox拡張機能の機能によっては、Chromeで動作するように常に変換できるとは限りません。
Chrome Api for Safari and Firefoxを作成しました。これらの変換APIを使用して、かなり大きな拡張機能をSafariおよびFirefoxに変換しました。多くの人が拡張機能をブラウザと私がいくつかのメソッドと変換を自動化するタスクランナーでAPIを補完するのを手伝ってくれる人がいることを願っています。
https://github.com/kritollm/chrome-extension-api-for-safari-and-firefox
私がこの記事を最初に書いた後、私は非常に類似した他の2つのプロジェクトに気づきました。
https://code.google.com/p/adblockforchrome/source/browse/trunk/port.js および
Mozillaは WebExtensions API に取り組んでいます。彼らは、APIポーティングアドオンを使用すると、他のブラウザーとの間のアドオンがより簡単になるはずだと述べています。
GitHubには積極的にメンテナンスされているプロジェクトがあり、Chrome Safari拡張機能を作成するための拡張APIを使用できます。 https://github.com/avast/topee を参照してください)。
Google Chrome、Firefox、およびEdgeは同じ拡張APIを共有しますが、Safari拡張は別の方向に進んでいるため、開発者は異なるAPIセットを使用する必要があり、JavaScriptの代わりにSwiftも使用する必要があります。
TopeeプロジェクトはGoogle Chrome Safari用の拡張APIを提供し、すべてのブラウザーで単一のコードベースを実行できるようにします。
APIは、Mac用のアバストパスワードで提供される拡張機能など、本番環境で実行するのに十分なほど完全です。