对于子窗口,onload事件不会多次触发

时间:2012-01-09 21:54:01

标签: javascript javascript-events

考虑这种情况:

var openWindow = function (name) {
    var win = window.open("/", name);

    document.write("Opening window: " + name + "<br />");
    win.onload = function () {
        document.write("Opened window: " + name + "<br />");
    };
};

var openAsdf = openWindow.bind(null, "asdf");
openAsdf();
setTimeout(openAsdf, 3000);

(见jsfiddle

在三秒钟之前不要关闭窗口。您将注意到未调用第二个加载事件(即使窗口中的页面似乎刷新)。为什么不?如何确定现有窗口何时刷新或再次调用?

1 个答案:

答案 0 :(得分:0)

在打开窗口之前连接你的onload事件。当它打开时,它可能已经被解雇了。

请参阅:Add onload function to an opening window