防止卸载Firefox sdk插件
Prevent uninstall of Firefox sdk add-on
我可以通过使用以下代码知道用户何时卸载或禁用附加组件。
exports.onUnload = function (reason) {
if(reason==="disable"||reason==="uninstall"){
//stuff here
}};
我需要停止禁用/卸载附加组件。我的附加组件是一个安全相关的附加组件。当用户试图卸载插件时,我需要使用主密码身份验证与用户确认。如果他输入了主密码,那么卸载该附加组件。如果他没有输入主密码,那么插件应该继续工作。
我认为有一些方法可以使一个插件成为"系统插件",这样它就不会出现卸载。我不知道该怎么做,不过我们得问问周围的人。如果你发现了,请四处询问并分享。
使用上述方法,您唯一可以做的就是,在卸载/禁用时,您可以使用插件管理器重新启用插件。这是一个如何使用插件管理器修改插件属性的示例-
Cu.import('resource://gre/modules/AddonManager.jsm');
AddonManager.getAddonByID('Profilist@jetpack', function(addon) {
console.info('addon:', addon);
console.info('addon.applyBackgroundUpdates:', addon.applyBackgroundUpdates);
addon.applyBackgroundUpdates = 0; //off
//addon.applyBackgroundUpdates = 1; //default
//addon.applyBackgroundUpdates = 2; //on
});
应该有与插件启用状态相关的属性。当它们改变时,将它们恢复为true。
用户仍然可以卸载你的插件,但他们必须有点技术悟性,他们只需要到文件系统的扩展文件夹中删除插件文件。浏览器重启后,它就不存在了
相关文章:
- 插件SDK中的动态或计算对象创建
- Firefox插件SDK:在侧边栏和主脚本之间通信对象
- 如何使用火狐插件 SDK 从用户的系统上传文件
- 从URL获取数据并阻止自动重定向(插件SDK Mozilla)
- FireFox插件sdk页面工作正则表达式
- 如何创建一个火狐插件来使用 SDK 自动填写表单
- 使用crossOrigin属性加载图像.在Firefox插件sdk中
- 如何使用mozilla插件sdk API从响应中提取html页面
- 如何使用Firefox SDK(用于插件)检测双击选择的文本
- FireFox SDK 插件 - 禁用/卸载时的“分离内容脚本”
- 如何在 Firefox 插件 sdk 扩展中使用 main.js 的 XMLHttpRequest.(或类似的东西)
- 火狐插件SDK:获取页面加载时间
- 在 Firefox 插件 SDK 中加载画布的图像
- 火狐插件 SDK 同步请求
- 从FBML切换到Javascript SDK和社交插件
- 如何控制台.log Firefox 控制台而不是 Mozilla 的插件 sdk 中的终端
- 如何从 SDK 插件数据文件夹加载 DLL
- 当选项卡加载火狐插件SDK时返回函数
- 使用angularJs路由的firefox sdk插件
- 防止卸载Firefox sdk插件