2011-12-08 4 views
0

Я хочу открыть окно, а затем сделать что-то после завершения загрузки, есть ли простой способ сделать это?Как проверить location.href завершено?

мой текущий код что-то вроде:

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

благодаря

ответ

1

Единственный способ сделать это - написать код на странице, которая открывается во всплывающем окне, чтобы сообщить родительской странице объект opener в js, чтобы он завершил загрузку.

В вашем примере, поскольку вы загружаете Google, это невозможно.

0

Предполагая, что вы доступ к страницам в Same Origin ...

«легкий путь» не так реагировать, как jQuery's 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, я не заметил URL-адрес 'google.com'. Вам необходимо убедиться, что вы следуете [Одинаковая политика происхождения (SOP)] (http://en.wikipedia.org/wiki/Same_origin_policy). – zzzzBov

Смежные вопросы