我有一個打開多個窗口的Web應用程序。我的問題是當父窗口關閉/刷新時,子窗口保持打開狀態。 我試過使用onunload
和onbeforeunload
,但它們都沒有捕捉窗口關閉事件(在Chrome和Firefox中)。 我有一個窗口的數組,但刷新後,對它們的引用丟失。父窗口關閉時關閉所有子窗口
有什麼其他的方式來抓住這個事件嗎?
這是我的代碼與關窗(運行closeAll()
外unload
和onbeforeunload
關閉我所有打開的窗口,但不刷新頁面時):
window.unload = function() {
closeAll();
}
window.onbeforeunload = function() {
closeAll();
}
var closePopup = function(popup) {
removePopup(popup);
popup.close();
};
var closeAll = function() {
for (var popup in _this.popups) {
closePopup(_this.popups[popup]);
}
}
這僅適用於Chrome,但不能在Firefox和IE(最新版本)。
*「我用onunload的和onbeforeunload試過,但他們沒有抓住窗口關閉事件(在Chrome和Firefox)」 *'onbeforeunload'絕對不會在Firefox和Chrome的工作。 – 2014-10-12 12:13:37
「*其中沒有一個[發現]窗口關閉事件*」這一事實表明您的代碼中存在錯誤,因爲正如T.J.克勞德指出,他們在那些命名的瀏覽器中工作。你可以向我們展示你的嘗試,那麼我們可以幫忙。 – 2014-10-12 12:15:08
似乎這個代碼適用於Chrome,但不適用於Firefox和IE。測試了這些事件之外的'closeAll'函數,它起作用。我也發現這裏有多個參考,它不適用於Firefox和其他瀏覽器http://stackoverflow.com/questions/14645011/window-onbeforeunload-and-window-onunload-is-not-working-in -firefox-safari-o http://stackoverflow.com/questions/20773306/mozilla-firefox-not-working-with-window-onbeforeunload – flaviu 2014-10-12 12:52:58