Есть ли API для отключения / включения расширения Firefox? - PullRequest
3 голосов
/ 13 января 2010

Есть ли вызов API, позволяющий включить / отключить надстройку Firefox?

Ответы [ 2 ]

4 голосов
/ 28 ноября 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;
    });
}
1 голос
/ 13 января 2010

Вы хотите использовать интерфейс nsIExtensionManager .

...