- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Firefox 4 公开了一些事件来检测用户何时卸载扩展。我可以得到onUninstalling
触发(当用户单击以删除扩展程序时),但是当 onUninstalled
时我无法发生任何事情火灾(应该在重新启动后发生)。
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.addAddonListener({
onUninstalled: function(addon){
//does not work
alert("uninstalled!");
},
onUninstalling: function(addon){
//works as expected
alert("uninstalling!");
}
});
最佳答案
方法onUninstalled
在删除扩展程序后调用 - 因此您的扩展程序可能无法接收其自己的卸载事件,它不再能够接收它。您可以收到有关其他加载项正在卸载的通知,但这就是此事件的重点。查看源代码,似乎有一个额外的问题 - 此通知仅发送给不需要重新启动的附加组件。这是有道理的,因为重新启动可以从根本上改变情况,因为外部应用程序在扩展目录中添加或删除了附加组件。因此,Firefox 甚至不会尝试传达未运行时发生的更改,任何监听器都应该在每次浏览器启动时重新阅读加载项列表。
综上所述,作为一个“经典”的扩展,你必须使用 onUninstalling
即使此事件不保证将卸载扩展程序(用户仍然可以恢复他的选择)。引导扩展(不需要重启的扩展,见 https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions)更容易,方法 uninstall()
即使扩展被禁用,他们的 bootstrap.js 也会被调用。然而,把你的扩展变成一个自举扩展并不总是那么容易,有很多问题可以解决:http://adblockplus.org/blog/how-many-hacks-does-it-take-to-make-your-extension-install-without-a-restart
关于firefox - 在我的 firefox 扩展中,onUninstalled 事件似乎没有触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284051/
Firefox 4 公开了一些事件来检测用户何时卸载扩展。我可以得到onUninstalling触发(当用户单击以删除扩展程序时),但是当 onUninstalled 时我无法发生任何事情火灾(应该在
我是一名优秀的程序员,十分优秀!