Javascript 是否以编程方式卸载/删除Firefox扩展?
有没有一种方法可以通过编程方式卸载Firefox扩展。如果是-是否可以从其他扩展执行此脚本Javascript 是否以编程方式卸载/删除Firefox扩展?,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,有没有一种方法可以通过编程方式卸载Firefox扩展。如果是-是否可以从其他扩展执行此脚本 使用获取对加载项的引用 通过检查PERM\u can\u UNINSTALL标志,检查是否可以卸载附加组件(例如,用户通常无法卸载系统范围的附加组件,但可以禁用) 打电话 示例代码(您可能希望添加正确的错误处理,等等): 还有另一种以编程方式删除扩展的方法:您可以: 窗口: “%appdata%\Mozilla\Firefox\Profiles\*\extensions”\extension@name
PERM\u can\u UNINSTALL
标志,检查是否可以卸载附加组件(例如,用户通常无法卸载系统范围的附加组件,但可以禁用)还有另一种以编程方式删除扩展的方法:您可以:
- 窗口:
- Linux/Mac:
为什么加载项不允许卸载?在这种情况下,是否可以强制卸载?例如,加载项可以在系统范围内安装,并且运行Firefox实例的用户没有对安装位置的写入权限。然后无法强制卸载(缺少写入权限)。但是,您可以通过设置
Addon.userDisabled=true
来禁用此功能。
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.
}
});