Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Событие закрытия окна при window.open (https://javascript.ru/forum/events/40117-sobytie-zakrytiya-okna-pri-window-open.html)

un3solka 24.07.2013 13:46

Событие закрытия окна при window.open
 
Имеется вот такое создание окошка:

socialWindow = window.open(url, name, 'width=' + width + ', height=' + height + ', left=' + left + ', top=' + top + ', directories=0, location=0, menubar=0, scrollbars=0, toolbar=0, status=0, rersizible=0');


Необходимо по закрытию данного окна вызывать функцию. Как отловить событие закрытия окна, которое загружается по URL.

Если написать socialWindow.document.write('<script type="text/javascript">window.onbeforeunload = function(){alert(1);}</script>');, то алерт отрабатывает, но содержимое окна по URL не подгружается.

cyber 24.07.2013 14:28

un3solka, самый оптимальный и кроссбраузерный вариант
function Unload(win, callback) {

      
      !function  check () {

        if(win.closed){

          callback.call(win);
          return;
        }
       

        setTimeout(check, 500);

      }();

 };

zilker 24.07.2013 17:43

а
socialWindow.onbeforeunload = function(){alert(1);}

чем не угодило?

cyber 24.07.2013 19:42

zilker,
кроссбраузерностью, как минимум в опере не работает.
Я в свое время столкнулся с необходимостью отслеживать закрытие окна и пришел к выводу что такое подход самый оптимальный, щас уже всех проблем не вспомню.

cyber 24.07.2013 19:46

un3solka, и плюс окно должно инициализировано пользователем, к примеру по клику.


Часовой пояс GMT +3, время: 18:18.