等待在JavaScript中加载另一个页面

时间:2012-09-20 11:53:56

标签: javascript jquery dom

是否可以使用JavaScript打开一个新窗口并等待jQuery直到新页面加载完毕?

我尝试了以下操作,但它不起作用:

var win = window.open(url,'',windowSpec);
$(win.window).load(
    function () {
        alert('Finished loading');
    }
);

1 个答案:

答案 0 :(得分:5)

由于打开的URL位于同一台服务器上,这意味着两个窗口可以通信。

在窗口中打开的页面上添加

$(window).load(function() {
    var opener = window.opener || window.dialogArguments;
    if (opener) {
           opener.yourmethod();
       }
});

并在启动window.open命令的页面上使用

function yourmethod(){
  alert('Finished loading');
}

演示 http://jsfiddle.net/nmXdc/1
从点击打开的窗口位于http://jsfiddle.net/FPcMk/1/