Вызов функции обратного вызова при подтверждении окна в событии onbeforeunload

Я нахожусь в ситуации, когда мне нужно получить подтверждение закрытия окна, пока страница закрывается. //Код

window.onbeforeunload=function(){

if(...)
{
   return "Are you sure you want to close this window, some changes are pending?";
// need to call a callback function when a user clicks "Leave this page" button.
}
};

Это создает окно подтверждения, и мне нужно вызвать функцию обратного вызова, когда пользователь нажимает кнопку «Покинуть эту страницу». Любые идеи?


person Neerajan    schedule 12.07.2013    source источник
comment
Вы хотите, чтобы функция выполнялась, когда пользователь соглашается покинуть страницу? Вы пробовали событие onunload?   -  person jbabey    schedule 12.07.2013
comment
Нет такой вещи, когда пользователь решает уйти, у вас нет возможности помешать этому или узнать, что он ушел и т. д. Обычный способ сделать это — записать действие пользователя, и если никакое действие не зарегистрировано в определенный период времени, предположим, что пользователь ушел.   -  person adeneo    schedule 12.07.2013


Ответы (1)


Если пользователь нажмет «Покинуть эту страницу», закрытие вкладки/страницы продолжится и, следовательно, страница будет выгружена. Пробовали ли вы привязать функцию, которую нужно вызывать, если пользователь решит покинуть страницу, к событию window.onunload? Я не знаю деталей вашего сценария, но я думаю, что это может решить вашу проблему.

person Alex Braha Stoll    schedule 12.07.2013
comment
Извините, я не видел, чтобы @jbabey уже предлагал этот подход. - person Alex Braha Stoll; 12.07.2013
comment
Мой сценарий: у меня есть функция javascript для вызова ajax, когда пользователь покидает страницу. Когда я делаю вызов ajax в событии window.onunload, особенно в chrome, сначала вызывается событие page_load в коде позади, и после события page_load выполняется только запрос вызова ajax. Но в IE нормально. Мне нужно контролировать такое поведение хрома. - person Neerajan; 17.07.2013