如何知道弹出窗口关闭的时间

时间:2013-06-26 13:13:53

标签: javascript

我创建了一个这样的窗口:

var myWindow = window.open(...)

我想知道这个窗口何时在主代码中关闭。我可以使用myWindow变量做些什么。我尝试过使用unonload函数,例如:

myWindow.onunload = function () {...}

但这根本不被召唤。

有什么建议吗?

2 个答案:

答案 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);