Всплывающее окно javascript/jquery open.window срабатывает при выгрузке после примерно: пустая выгрузка

Допустим, у меня есть кнопка, которая открывает всплывающее окно с помощью window.open():

<button id = "my-button">Open window</button>​

И я хочу захватить, когда это окно закроется. Я использую следующий код:

$('#my-button').on('click', function() {
    popup = window.open('http://www.google.com', 'my_popup', "width=800,height=600,scrollbars=no,resizable=yes,status=yes,toolbar=no,location=no,menubar=no");
    $(popup.document).ready(function() {
        console.log('ready!');
        $(popup).on('unload', function() {
            console.log('unloaded!');
        } );
    })    
});​

Теперь я заметил, что открытое окно ненадолго загружает «о: пусто», а затем загружает запрошенный URL-адрес. В это время запускается событие onunload. В других сообщениях говорится, что это нормальное поведение, но Кажется, я не получаю второе событие onunload (по крайней мере, с использованием хрома).

У кого-нибудь есть обходной путь, чтобы предложить?

См. скрипку: http://jsfiddle.net/periklis/NJz6w/

Как всегда, заранее спасибо


person periklis    schedule 03.08.2012    source источник


Ответы (1)


хорошо, я нашел решение в конце концов:

$('#my-button').on('click', function() {
    popup = window.open('http://www.google.com', 'my_popup', "width=800,height=600,scrollbars=no,resizable=yes,status=yes,toolbar=no,location=no,menubar=no");
    $(popup.document).ready(function() {
        console.log('ready!');
        $(popup).on('unload', function() {
            console.log('unloaded!');
            $(popup).on('unload', function() {
                console.log('unloaded 2nd time!');
            } );
        } );
    })    
});​

Что странно работает в моей среде, но не для примера jsfiddle, который я опубликовал. Так или иначе.

person periklis    schedule 03.08.2012