2014-09-12 2 views
-2

Я ищу функцию javascript, которая выполняется, когда пользователь покидает страницу, аналогично функции onbeforeunload, но я не хочу, чтобы пользователь уведомлялся с помощью диалогового окнаФункция Javascript, которая выполняется при выходе страницы без запроса пользователя

+2

Try на 'onunload' событие. Постскриптум Я думаю, вы имели в виду 'onbeforeunload'. –

+3

Тогда не возвращайте сообщение? – Ryan

+1

Зачем вы хотите это сделать? Вы хотите отправить данные на сервер? Если да, будьте осторожны с этим, потому что [не надежно] (http://stackoverflow.com/questions/25039281/why-is-ajax-call-in-window-unonload-never-called). –

ответ

0

Выполняет действие, но не отображает диалоговое окно.

 window.onbeforeunload = function(){ 

      console.log('something'); 
     } 
+0

слишком легкий! Благодаря! –

0

Как писал Дэвид, отправка данных на сервер не работает надежно. Однако вы можете присоединить обработчик событий ко всем ссылкам, предотвратить действие по умолчанию, дождаться ответа сервера и затем запустить навигацию с отступом пользователя. Вот как собирают информацию Piwik и другие инструменты статистики.

Например:

<script> 
$('a').click(function() { 
    var my_href = $(this).attr('href'); 
    $.ajax({url: 'http://some-url-here', success:function() {   
    location.href=my_href; // navigate now 
    }}); 
    return false; // stop default navigation action 
}); 
</script> 

Это, конечно, не срабатывает, когда пользователь просто закрывает вкладку, заполняет форму, типы новый адрес и т.д.

Смежные вопросы