我的擴展打開了一系列附加窗口。當用戶關閉Firefox主窗口時,我希望這些窗口關閉。 I know you can detect when a tab closes(也許我應該只是尋找「最終」選項卡關閉?),但我想知道什麼時候「所有選項卡」已關閉。從擴展中捕獲Firefox關閉事件
總之,如何檢測Firefox擴展窗口關閉時的擴展名?
我的擴展打開了一系列附加窗口。當用戶關閉Firefox主窗口時,我希望這些窗口關閉。 I know you can detect when a tab closes(也許我應該只是尋找「最終」選項卡關閉?),但我想知道什麼時候「所有選項卡」已關閉。從擴展中捕獲Firefox關閉事件
總之,如何檢測Firefox擴展窗口關閉時的擴展名?
您可以收聽unload活動。
如果腳本運行在所有類型的窗口上,那麼檢查url是否是瀏覽器窗口。
window.addEventListener('unload', function(event) {
if (event.target.location.href !== 'chrome://browser/content/browser.xul') {
return;
}
// do you stuff...
}, false);
我發現了一個解決方案,雖然它實際上並沒有監聽特定的事件。相反,我們設置一個間隔來檢查標籤容器是否仍然可用。
setInterval(function() {
if (typeof gBrowser.mTabContainer === 'undefined') {
// Rest of your code...
}
}, 500);
如果有更乾淨的方式做到這一點,我會非常樂意看到它。
不工作隊友 – Tony 2013-07-25 14:36:56
你爲什麼這麼說?這是我在我的一個項目中使用的確切解決方案,它工作正常。你如何試圖使用它? – 2013-08-14 15:00:08
不工作隊友 – Tony 2013-07-25 14:39:18