javascript:父窗口如何知道其子窗口已关闭?

Vin*_*Vin 9 javascript yui javascript-events

我想在打开的子窗口关闭时执行一个函数.子窗口打开代码是:

outWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=600, height=400, top=100, left=100);
Run Code Online (Sandbox Code Playgroud)

我想调用在父窗口中编写的javascript函数.我正在使用YUI-2来开发插件.我怎样才能使它工作?应该注册什么事件?

提前致谢.

Mar*_*man 32

你可以这样做.

var intervalID, childWindow;

childWindow = window.open("http://www.google.com");

function checkWindow() {
    if (childWindow && childWindow.closed) {
        window.clearInterval(intervalID);
        alert('closed');
    }
}
var intervalID = window.setInterval(checkWindow, 500);
Run Code Online (Sandbox Code Playgroud)

参考文献:window.setInterval和这个答案.

关于jsfiddle的简单示例.

  • 我无法弄清楚为什么OPiazao的答案在这里被标记为正确答案.这是根据OP中描述的要求处理它的正确方法. (5认同)