我们如何知道何时加载弹出窗口URL(window.open)?

时间:2010-01-27 09:13:32

标签: javascript jquery

我需要在完成加载后立即更改弹出页面的URL(我正在使用window.open函数调用)。 无论如何,我可以找到弹出页面在父窗口中完成加载的时间吗?我无法在弹出的页面中更改任何内容,因为它属于另一个网站。

2 个答案:

答案 0 :(得分:9)

window.open返回对该窗口的window对象的引用。

如果打开的窗口指向与开窗器相同的域中的URL,则它将具有对该对象的完全访问权限,就像它自己的window对象一样。

var w = window.open(url);

// If the window opened successfully (e.g: not blocked)
if ( w ) {
    w.onload = function() {
        // Do stuff
    };
}

同样的原产地政策适用于此。如果打开的窗口的URL位于不同的域上,则开启者将无法访问该窗口引用的成员。

答案 1 :(得分:4)

这似乎是不言自明的,但告诉我你是否需要更多解释(或者如果它不起作用,尽管它应该......)

var winObj = window.open( /* lot of params */ );

if( !winObj )
{
    /* pop-up blocked! */
}
else
{
    winObj.onload = function( ){ /* do stuff here */ };
}