Javascript 如何在禁用的加载项上检测卸载关闭原因
因此,在关机时,如果插件被禁用,并且用户单击“删除”,则卸载原因不会触发。(无原因触发)如何从禁用的加载项检测此卸载 我需要知道,因为卸载时我删除了pref分支Javascript 如何在禁用的加载项上检测卸载关闭原因,javascript,firefox-addon,Javascript,Firefox Addon,因此,在关机时,如果插件被禁用,并且用户单击“删除”,则卸载原因不会触发。(无原因触发)如何从禁用的加载项检测此卸载 我需要知道,因为卸载时我删除了pref分支 function shutdown(aData, aReason) { console.log('shutdown reason = ', aReason); if (aReason == APP_SHUTDOWN) return; windowListener.unregister(); //star
function shutdown(aData, aReason) {
console.log('shutdown reason = ', aReason);
if (aReason == APP_SHUTDOWN) return;
windowListener.unregister();
//start pref stuff more
myPrefListener.unregister();
if ([ADDON_UNINSTALL].indexOf(aReason) > -1) {
console.log('deleting branch of: ' + prefPrefix);
Services.prefs.deleteBranch(prefPrefix);
}
//end pref stuff more
}
您应该在卸载加载项时调用它,即使该加载项已禁用。啊,我已经尝试过了,但这是一种方法。令人困惑的是,当我从插件管理器中单击“删除”时,它不会触发它,然后我会再次安装它,它会在下一个插件安装时卸载上一个插件。我现在意识到这是一个软卸载,直到
Undo
按钮消失。很酷,我现在拿到了谢谢!:)更新如果你想实现卸载
你必须实现安装
,给它简单的参数就可以了,否则卸载
将永远不会触发。因此,一个简单的函数安装(a,b){}
就足够了。但是一个函数install(){}
不足以触发卸载
@Noitidart,不确定你从哪里得到这个,但是你必须实现安装
,这是不正确的。您可以将安装作为空函数。事实上,您甚至不必提供install
(尽管AddonManager
将转储警告,但仍执行uninstall
)您确定吗?我在几个月前对此进行了测试,然后更新了MDN文档。我必须重新测试,然后可能撤消MDN更新..:/妈的,你说得对。我把它删掉了,是在: