Есть ли вызов API, позволяющий включать/отключать надстройку Firefox?
Есть ли API для отключения/включения расширения Firefox?
Ответы (2)
Вы хотите использовать nsIExtensionManager. интерфейс.
person
sdwilsh
schedule
13.01.2010
Похоже, что сейчас эта ссылка не работает, но она частично описана на этой странице. Имейте в виду, что это несовместимо с Fx 4.
- person Paul Lammertsma; 28.11.2010
(и очень жаль, что я не могу удалить принятый ответ, который принадлежит мне)
- person sdwilsh; 01.12.2010
Начиная с Firefox 4, это можно сделать через AddonManager
.
Например, чтобы отключить надстройку:
AddonManager.getAddonByID(id, function(addon) {
addon.userDisabled = true;
});
Для поддержки Gecko ‹= 1.9.1 и > 1.9.1:
var man = Components.classes["@mozilla.org/extensions/manager;1"];
if (man) {
man = man.getService(Components.interfaces.nsIExtensionManager);
}
if (man) {
man.disableItem(id);
} else {
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID(id, function(addon) {
addon.userDisabled = true;
});
}
person
Paul Lammertsma
schedule
28.11.2010