Вы, скорее всего, захотите создать JavaScript code module. Вы можете использовать Components.utils.import(), чтобы загрузить его:
Components.utils.import("chrome://myaddon/content/utils.jsm");
И в utils.jsm
вы определяете, какие символы должны быть импортированы это заявление, например:
var EXPORTED_SYMBOLS = ["Utils"];
var Utils = {
};
модуль будет загружен при первом использовании и остаться в памяти после этого - будет только один экземпляр модуля, независимо от того, сколько мест в вашем расширении использует его. Обратите внимание, что я использовал URL-адрес chrome://
для загрузки модуля, это поддерживается, начиная с Firefox 4. В документации рекомендуется использовать URL-адреса resource://
, которые являются более чистыми, потому что модули фактически не имеют ничего общего с пользовательским интерфейсом - все еще, используя URL-адрес chrome://
часто проще.