Firefox XUL拡張機能を書いているときに、拡張機能全体でいくつかの機能(ビジネスロジック)を共有したいと思います。これを保管するのに最適な場所はどこですか?
常に最初にロードされるある種のライブラリ(javascript)ファイルを作成できますか?
Firefox XUL拡張機能を書いているときに、拡張機能全体でいくつかの機能(ビジネスロジック)を共有したいと思います。これを保管するのに最適な場所はどこですか?
常に最初にロードされるある種のライブラリ(javascript)ファイルを作成できますか?
JavaScriptコードモジュールを作成することをお勧めします。Components.utils.import()を使用してロードできます。
Components.utils.import("chrome://myaddon/content/utils.jsm");
そして、utils.jsm
そのステートメントによってインポートするシンボルを定義します。例:
var EXPORTED_SYMBOLS = ["Utils"];
var Utils = {
};
モジュールは最初に使用されたときにロードされ、その後はメモリに残ります。拡張機能でモジュールを使用する場所がいくつあっても、モジュールインスタンスは1つだけになります。モジュールのロードにURLを使用したことに注意してくださいchrome://
。これは、Firefox 4以降でサポートされています。resource://
モジュールは実際にはユーザーインターフェイスとは関係がないため、ドキュメントではよりクリーンなURLを使用することを推奨していchrome://
ます。