我的扩展程序打开了一系列额外的窗口。当用户关闭主Firefox窗口时,我希望关闭这些窗口。 I know you can detect when a tab closes(也许我应该只关注“最终”标签?)但我想知道“所有标签”何时关闭。
简而言之,如何从扩展程序中检测主Firefox窗口何时关闭?
答案 0 :(得分:0)
我找到了一个解决方案,虽然它实际上并没有听取特定事件。相反,我们设置一个间隔以检查选项卡容器是否仍然可用。
setInterval(function() {
if (typeof gBrowser.mTabContainer === 'undefined') {
// Rest of your code...
}
}, 500);
如果有更清洁的方法,我会非常乐意看到它。
答案 1 :(得分:0)
您可以收听unload事件。
如果你的脚本在所有类型的窗口上运行,那么检查url是否是浏览器窗口。
window.addEventListener('unload', function(event) {
if (event.target.location.href !== 'chrome://browser/content/browser.xul') {
return;
}
// do you stuff...
}, false);