我有一个打开多个窗口的网络应用程序。我的问题是当父窗口关闭/刷新时,子窗口仍然保持打开状态。
我尝试使用
还有其他方法可以捕获此事件吗?
这是我的关闭窗口相关代码(在
onunload
和onbeforeunload
,但是都无法捕获窗口关闭事件(在Chrome和Firefox中)。
我有一个窗口数组,但在刷新后它们的引用丢失了。还有其他方法可以捕获此事件吗?
这是我的关闭窗口相关代码(在
unload
和onbeforeunload
之外运行closeAll()
可关闭所有已打开的窗口,但在页面刷新时不起作用):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(最新版本)。
closeAll
函数,它可以正常工作。我还在SO上找到了多个参考,表明它在Firefox和其他浏览器上无法正常工作。https://dev59.com/smUq5IYBdhLWcg3wQ-Tk https://dev59.com/S3rZa4cB1Zd3GeqP4qDf - flaviu