从扩展中捕获Firefox关闭事件

时间:2013-03-27 19:15:37

标签: javascript firefox firefox-addon

我的扩展程序打开了一系列额外的窗口。当用户关闭主Firefox窗口时,我希望关闭这些窗口。 I know you can detect when a tab closes(也许我应该只关注“最终”标签?)但我想知道“所有标签”何时关闭。

简而言之,如何从扩展程序中检测主Firefox窗口何时关闭?

2 个答案:

答案 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);