获得有关Firefox扩展卸载的通知

时间:2016-03-31 09:30:24

标签: javascript firefox-addon firefox-addon-sdk

我目前正在开发SDK Firefox扩展程序,并希望在用户卸载我的扩展程序后执行某些操作(例如,清理存储空间)。我试过了:

exports.onUnload = function (reason) {
 if (reason == "uninstall") 
 {
 //do something
 }
}

并且相信它会起作用,直到我在this article(文章末尾)读到由于该错误,我将永远不会被通知“卸载”,只是禁用。

现在,我知道boostraped扩展具有uninstall函数,该函数将被正确调用。但是,如果我用jpm构建我的扩展,我不能只是篡改 bootstrap.js (或者我可以)。

我也尝试了以下内容:

require("sdk/system/unload").when(function (reason) {
    //do my thing
});

但这也是一样的。

有没有办法绕过这个bug?

1 个答案:

答案 0 :(得分:0)

正如您所说,onUnload方法目前存在错误,因此永远不会使用uninstall原因参数调用它。

你唯一能做的就是听取禁用。在大多数情况下,这足够了,因为很少一部分用户在禁用扩展后重新启用扩展。