Javascript: поведение onBeforeUnload () в IE и Chrome - PullRequest
1 голос
/ 18 мая 2011

У меня есть этот кусок кода

window.onbeforeunload = function(){
      doSomething();
      return "Are you sure you want to leave";
}

В Firefox, когда пользователь покидает страницу, сначала выполняется doSomething () , а затем появляется предупреждение.где, как в IE и Chrome, сначала появляется предупреждение, а затем, если пользователь решает остаться, doSomething () исполняется.

Есть ли способ заставить IE и Chrome вести себя как FF.Я хочу выполнить doSomething () перед отображением всплывающего окна.

1 Ответ

0 голосов
/ 18 мая 2011

Какую версию Firefox вы используете?Насколько я знаю, ни один из браузеров не должен позволять вам делать что-то в onBeforeUnload, кроме передачи текста, который будет включен в всплывающее диалоговое окно подтверждения - поэтому вы не можете помешать пользователю покинуть ваш сайт.1002 * Вы не должны полагаться на это событие, чтобы гарантировать, что что-нибудь произойдет, когда пользователь покинет вашу страницу.Если это так важно, назначьте обработчик событий щелчка для всего, что может перемещаться от вашей страницы (вы все равно потеряете кнопки навигации браузера и изменения в адресной строке)

...