Как выйти из системы во время onbeforeunload / onunload, используя Javascript



window.onbeforeunload=before;
window.onunload=after;

function before(evt)
{
   var message="If you continue, your session will be logged out!";
   if(typeof evt=="undefined"){
      evt=window.event;
   }
   if(evt){
      evt.returnValue=message;
   }
}

function after()
{
   var flex=document.${application}||window.${application};
   flex.unloadMethod(); //calls the flex class containing the "unloadMethod()" which
                        //calls the logout.jsp that does the actually dropping of credentials
}


Вот моя мысль: когда пользователь нажимает назад, обновляет или закрывает окно, появится стандартное всплывающее окно onbeforeunload вместе с текстом, расположенным в моей переменной сообщения. Затем, если пользователь нажмет кнопку Отмена, событие onunload победитне будет выполнено, и пользователь останется на текущей странице. Но если пользователь нажимает Okay, то должно произойти событие onunload, которое затем выполняет мои классы выхода из системы.

Это то, что's происходит: всплывающее окно появляется при необходимости, и кнопка «Отмена» также работает. Но если пользователь нажимает «ОК», кажется, что событие onunload срабатывает слишком быстро, чтобы выполнить мои классы выхода из системы, потому что оно никогда не выходит из системы.

Я знаю, что мои классы выхода из системы работают, потому что, если я просто вызываю свой flex.unloadMethod в onbeforeunload, он выводит их из системы.

Я исследовал это уже неделю, и кажется, что яЯ близко, но яЯ помещаю что-то в неправильное место. Если у вас есть какие-либо примеры или советы, это будет оценено.

Ответы на вопрос(1)

Ваш ответ на вопрос