Как наблюдать за местоположением открытого Popup? - PullRequest
0 голосов
/ 22 ноября 2010

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

popup = window.open(
  "http://ec.europa.eu/yourvoice/ipm/forms/dispatch?form=tobacco6", 
  '',
  'status=no,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,copyhistory=no'
);

Чтобы проверить, закрыл ли пользователь всплывающее окно, я установил Таймаут, который проверяет, открыто ли всплывающее окно.

if(popup.closed)

Как я могу проверить, является ли местоположение всплывающего окна все еще начальным?

popup.location

просто верните около: пусто.

1 Ответ

0 голосов
/ 22 ноября 2010

Вы можете просто использовать событие onbeforeunload.

popup.onbeforeunload = function(e) {
    if(!e) e = window.event;
    //e.cancelBubble is supported by IE - this will kill the bubbling process.
    e.cancelBubble = true;
    e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog

    //e.stopPropagation works in Firefox.
    if (e.stopPropagation) {
        e.stopPropagation();
        e.preventDefault();
    }
}
...