2

我的扩展打开了一系列额外的窗口。当用户关闭主 Firefox 窗口时,我希望这些窗口关闭。我知道您可以检测到选项卡何时关闭(也许我应该只寻找“最终”选项卡关闭?)但我想知道“所有选项卡”何时关闭。

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

4

2 回答 2

1

你可以监听卸载事件。

如果您的脚本在所有类型的窗口上运行,则检查 url 是否为浏览器窗口。

window.addEventListener('unload', function(event) {
    if (event.target.location.href !== 'chrome://browser/content/browser.xul') {
        return;
    }
    // do you stuff...
}, false);
于 2013-04-01T07:32:56.190 回答
0

我找到了一种解决方案,尽管它实际上并不监听特定事件。相反,我们设置了一个间隔来检查选项卡容器是否仍然可用。

setInterval(function() {
    if (typeof gBrowser.mTabContainer === 'undefined') {
        // Rest of your code...
    }
}, 500);

如果有更清洁的方式来做到这一点,我会很高兴看到它。

于 2013-03-28T19:25:18.280 回答