我想打开一个窗口,然后在完成加载后做一些事情,有没有一种简单的方法来做到这一点?如何检查location.href是否已完成?
我当前的代码是一样的东西:
cur_window = window.open('http://www.google.com')
// does something when cur_window finishes loading
感谢
我想打开一个窗口,然后在完成加载后做一些事情,有没有一种简单的方法来做到这一点?如何检查location.href是否已完成?
我当前的代码是一样的东西:
cur_window = window.open('http://www.google.com')
// does something when cur_window finishes loading
感谢
要做到这一点的唯一方法是,如果您在弹出窗口中打开的页面中编写代码,以告知父页面js中的opener
对象,它已完成加载。
在您的示例中,当您加载Google时,这是不可能的。
假设你的Same Origin中访问的网页...
“简单的方法”并不像响应jQuery的ready
事件不能在原始窗口上下文之外应用:
cur_window.onload = function() {
//new window has loaded
};
如果您尝试在新窗口中打开http://www.google.com/
,则无法访问window
对象,因此无法知道新窗口何时加载。
这似乎不工作:http://jsfiddle.net/RoryMcCrossan/yna6X/ –
看起来像SOP限制 – jAndy
@RoryMcCrossan,我没有注意到'google.com'的网址。您需要确保您遵循[同源策略(SOP)](http://en.wikipedia.org/wiki/Same_origin_policy)。 – zzzzBov