Почему window.open(...).onunload = функция () { ... } не работает так, как я ожидал?

Я хочу иметь возможность сказать, когда окно, которое я открываю, закрывается пользователем. Это код моей попытки мониторинга:

<html>
  <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
        window.document.onready = function () {
            document.getElementById('openWindow').onclick = function () {
                var windowref = window.open('tests2.html');
                windowref.onunload =  function () {
                    window.alert('hola!');
                };
            };
        };
  </script>
</head>
<body>
  <button id='openWindow'>Open Window</button>

</body>
</html>

Я бы ожидал, что это предупредит "hola!" в оригинальном окне после того, как окно, которое было открыто с помощью window.open, было закрыто. Вместо этого оно предупреждает "hola!" в оригинальном окне сразу же после открытия нового окна с помощью window.open. Почему оно так работает? Есть ли способ сделать то, что я хочу сделать?

11
задан Steven Oxley 19 September 2011 в 20:07
поделиться