当弹出窗口中的页面加载完成后,我需要更改该页面的URL(我使用window.open函数调用)。 有没有办法在父窗口中找出弹出窗口中的页面何时加载完成?我无法更改在弹出窗口中打开的页面,因为它属于另一个网站。
当弹出窗口中的页面加载完成后,我需要更改该页面的URL(我使用window.open函数调用)。 有没有办法在父窗口中找出弹出窗口中的页面何时加载完成?我无法更改在弹出窗口中打开的页面,因为它属于另一个网站。
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在不同的域上,则打开者将无法访问该窗口引用的成员。
这似乎很容易理解,但如果您需要更多解释,请告诉我(或者如果它不起作用,尽管它应该...)
var winObj = window.open( /* lot of params */ );
if( !winObj )
{
/* pop-up blocked! */
}
else
{
winObj.onload = function( ){ /* do stuff here */ };
}
if (w)
的含义),我会加一分给您。 :P - Dan Beam