4

Firefox アドオン SDK を使用して、Chrome 拡張機能を Firefox に移植しています。Chrome では、Underscore や Backbone などのサードパーティ ライブラリを簡単にロードできます。私の特定のケースでは、jQuery、Underscore、および Backbone を使用して、クロスドメイン REST API と通信するモデルを定義しています。

Firefox で同様のことを行う方法がよくわかりません。私が見ることができるものから、main.js は Chrome のバックグラウンド ページに直接対応していますが、js ファイルをロードする方法はないようです。

何か不足していますか?

4

1 に答える 1

2

アドオン SDK は、nodejs によっても使用されるのと同じモジュールである CommonJS モジュール sysem をサポートします https://github.com/mozilla/addon-sdk/tree/master/app-extension

Underscore は commonjs モジュール形式をサポートしており、簡単にロードでき ます https://github.com/documentcloud/underscore/blob/master/underscore.js#L54-L65

必要なのは、main.js の横にアンダースコアをドロップして、次のようにロードすることだけです。

var _ = require("./underscore")

私は、バックボーンも、人々が nodejs で使用しているのと同じ方法でロードできると信じています。

ただし、jQuery では機能しません。これは、アドオン SDK モジュールが実行されるコンテキストが、jQuery が動作するように設計されている DOM を使用した一般的な Web ページ コンテキストとは異なるためです。

クロスドメインリクエストを行いたい場合、SDK にはそれを行うためのモジュールが付属しています: https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/request.html 代わりに使用できる別の低レベル XHR モジュールもあります: https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/api-utils/xhr.html

したがって、モデルを作成して REST API と対話したいだけであれば、それはかなり簡単なはずです。あなたのユースケースでの jQuery の役割はわかりません。表示したい DOM と UI を意味します。その場合、SDK にはいくつかのモジュールがあり、Firefox 用のカスタム UI を追加できます。おそらく、そのテーマに関する有用なチュートリアルを見つけることができます: https://addons.mozilla.org/en-US/developers/docs/sdk/latest /dev-guide/tutorials/index.html

于 2012-11-21T11:59:12.773 に答える