我创建了一个这样的窗口:
var myWindow = window.open(...)
我想知道这个窗口何时在主代码中关闭。我可以使用myWindow
变量做些什么。我尝试过使用unonload函数,例如:
myWindow.onunload = function () {...}
但这根本不被召唤。
有什么建议吗?
答案 0 :(得分:3)
除了在子窗口关闭时从父窗口添加事件处理程序,您可以让子项调用父项上的函数:
父窗口
// needs to be somewhere global so the child window can call it
var onChildWindowClose = function () {
// ...
};
子窗口
window.onunload = function () {
if (opener && !opener.closed) {
opener.onChildWindowClose();
}
};
答案 1 :(得分:0)
不是事件处理,但您可以尝试使用closed
监控您的窗口setInterval
属性:
myWindow=window.open("","","width=200,height=300");
var timer = setInterval(
function(){
if(myWindow.closed){
clearInterval(timer);
alert('closed');
}
}, 1000);