以编程方式卸载/删除Firefox扩展
Uninstall/Remove Firefox Extension programmatically?
是否可以通过编程方式卸载Firefox扩展?
- 使用
AddonManager.getAddonByID
获取附加组件的引用 - 检查
PERM_CAN_UNINSTALL
标志是否可以卸载附加组件(例如,用户通常不能卸载系统范围的附加组件,但可以禁用)。 - 呼叫
Addon.uninstall()
.
示例代码(您可能希望添加适当的错误处理,等等):
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.
}
});
还有另一种方法可以通过编程方式删除扩展:您可以从firefox配置文件文件夹中删除xpi文件:
- Windows:
' % appdata % ' Mozilla Firefox ' Profiles ' ' * ' ' extension@name.xpi扩展
- Linux/Mac:
/home/*/。mozilla firefox扩展/extension@name.xpi
从安全的角度来看,唯一有意义的事情是如果扩展可以删除自己。尽管问题说明了如何从另一个扩展中做到这一点,但我认为为了完整性起见,添加扩展如何删除自己是很重要的。
这可以使用management.uninstallSelf()来完成。
browser.management.uninstallSelf({
showConfirmDialog: true,
dialogMessage: 'Please reconsider, since this is the best extension!'
}).then(() => alert('Extension uninstalled'))
.catch(() => alert('User cancelled extension uninstall'))
如果showConfirmDiloag
为true,则弹出确认对话框。
如果用户选择保留扩展名,uninstallSelf返回的Promise返回一个错误。
参数对象中的两个属性都是可选的
相关文章:
- javascript代码,用于删除firefox中的空白,但在IE和chrome中无法正常工作
- 使用正则表达式删除标记时,Firefox和Chrome之间存在不一致
- 自动进度输入字段删除'0's在Firefox中
- 清除firefox中的cookie也会删除localStorage吗
- java脚本退格键和删除在IE中工作,而不是在FireFox中工作
- String.trim 仅在 Chrome 39 和 Firefox 的两端都有时删除开头的空格
- 如何在 Firefox 插件 XUL 树中添加和删除行
- 删除cookie(PHP,JS)适用于Firefox,Safari,Opera,但不适用于Chrome
- 删除 CSS 规则在 Firefox 中不起作用
- 在 Firefox 扩展中使用 JavaScript 删除 cookie
- Firefox插件:如何在卸载插件时删除首选项
- 如何在getusermedia中从firefox和chrome中删除音频视频通话图标
- 由于Javascript,Backspace(删除字符)在Firefox中无法正常工作
- 如何从firefox扩展中删除保存的密码
- 为什么在Firefox中输入逗号时,这个正则表达式会删除所有字符
- 如何从firefox扩展中删除浏览器cookie
- jQuery'滚动前删除锚点'功能不能在firefox中工作,但在chrome、safari中可以完美工
- Firefox将输入字段中删除的文本作为url加载
- 以编程方式卸载/删除Firefox扩展
- 使用document.cookie删除firefox上不起作用的cookie.下面的