有没有办法以编程方式卸载 Firefox 扩展。如果是 - 是否可以从其他扩展执行此脚本?
- 使用以下方式获取附加组件的参考AddonManager.getAddonByID https://developer.mozilla.org/en-US/Add-ons/Add-on_Manager/AddonManager#getAddonByID%28%29
- 检查附加组件是否可以卸载(例如,系统范围的附加组件不能被用户正常卸载,但可以禁用),通过检查
PERM_CAN_UNINSTALL
flag.
- Call Addon.uninstall() https://developer.mozilla.org/en-US/Add-ons/Add-on_Manager/Addon#uninstall%28%29.
示例代码(您可能需要添加适当的错误处理等):
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID("some@id", function(addon) {
if (!addon) {
// Add-on not present
return;
}
if (!(addon.permissions & AddonManager.PERM_CAN_UNINSTALL)) {
// Add-on cannot be uninstalled
return;
}
addon.uninstall();
if (addon.pendingOperations & AddonManager.PENDING_UNINSTALL) {
// Need to restart to finish the uninstall.
// Might ask the user to do just that. Or not ask and just do.
// Or just wait until the browser is restarted by the user.
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)