2011-12-08 440 views
0

我想打开一个窗口,然后在完成加载后做一些事情,有没有一种简单的方法来做到这一点?如何检查location.href是否已完成?

我当前的代码是一样的东西:

cur_window = window.open('http://www.google.com') 
// does something when cur_window finishes loading 

感谢

回答

1

要做到这一点的唯一方法是,如果您在弹出窗口中打开的页面中编写代码,以告知父页面js中的opener对象,它已完成加载。

在您的示例中,当您加载Google时,这是不可能的。

0

假设你的Same Origin中访问的网页...

“简单的方法”并不像响应jQuery的ready事件不能在原始窗口上下文之外应用:

cur_window.onload = function() { 
    //new window has loaded 
}; 

如果您尝试在新窗口中打开http://www.google.com/,则无法访问window对象,因此无法知道新窗口何时加载。

+0

这似乎不工作:http://jsfiddle.net/RoryMcCrossan/yna6X/ –

+2

看起来像SOP限制 – jAndy

+0

@RoryMcCrossan,我没有注意到'google.com'的网址。您需要确保您遵循[同源策略(SOP)](http://en.wikipedia.org/wiki/Same_origin_policy)。 – zzzzBov

相关问题