Как я могу узнать, покинул ли пользователь мой сайт? - PullRequest
5 голосов
/ 09 июля 2010

Есть ли способ узнать, покинул ли пользователь на моем веб-сайте (то есть соединение разорвано, удалено и т. Д.) В режиме реального времени?

Я создаю веб-сайт RoR и хочу инициировать событие каккак только пользователь покидает мой сайт по какой-либо причине (например, соединение, переход от домена и т. д.)

Заранее благодарен за любую помощь.

Ответы [ 4 ]

6 голосов
/ 09 июля 2010

Нет, нет.

Лучшее, что вы можете сделать, это отправлять запрос AJAX каждые X секунд (возможно, только если пользователь перемещает мышь). Если сервер не получает запросы в течение 2X секунд, предположим, что пользователь ушел.

2 голосов
/ 09 июля 2010

Вы можете сделать какой-то запрос в этой функции:

$(window).bind('beforeunload', function(){ 
  // there
});

Отправить Ajax или что-то еще, чтобы сообщить серверу, что этот пользователь покидает страницу, но это не очень хорошая идея.В Google Analytics и других статистических службах вы уже можете видеть, как долго пользователь остается на вашей странице.

2 голосов
/ 09 июля 2010
0 голосов
/ 09 июля 2010

Все, что я могу вспомнить, это событие JavaScript onunload в теге вашего тела ... Я не знаю, насколько это жизнеспособно, но теоретически вы могли бы использовать вызов AJAX для отправки информации о предстоящем разъединении.

Конечно, если процесс браузера просто убит, это не сработает.

И я не уверен, что у Rails есть какая-то уникальная магия, которая делает то же самое (кроме лучшего).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...