有没有一种API可以禁用/启用Firefox扩展?

3
有没有一种API调用可以启用/禁用Firefox附加组件?
2个回答

5
从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

看起来那个链接现在已经失效了,但是它在这个页面上有一些描述:https://developer.mozilla.org/en/Enhanced_Extension_Installation#Little_Things_This_Upgrade_Fixes_or_Changes。请注意,这不兼容 Fx 4。 - Paul Lammertsma
從英文翻譯以下與程式設計相關的內容。僅返回翻譯後的文字:(我不能刪除自己接受的答案,真是太糟糕了。) - sdwilsh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接