Существует ли способ сказать, уехал ли пользователь на моем веб-сайте (т.е. отброшенное соединение, перешел далеко и т.д.), в режиме реального времени?
Я создаю веб-сайт RoR и хочу инициировать событие, как только пользователь оставляет мой сайт по любой причине (например, соединение, перейдя далеко от домена и т.д.)
Заранее спасибо за любую справку.
Нет, нет.
Лучшее, что вы можете сделать, - это отправлять запрос AJAX каждые X секунд (возможно, только если пользователь перемещает мышь). Если сервер не получает запросов в течение 2X секунд, предположим, что пользователь ушел.
В этой функции вы можете выполнить некоторый запрос:
$(window).bind('beforeunload', function(){
// there
});
Отправить Ajax или что-то еще, чтобы сообщить серверу, что этот пользователь покидает страницу, но это не очень хорошая идея. В Google Analytics и других статистических сервисах вы уже можете видеть, как долго пользователь остается на вашей странице.
Все, о чем я могу думать, это событие JavaScript onunload
в вашем теге тела ... Я не знаю, насколько это жизнеспособно, но теоретически вы могли бы использовать вызов AJAX для отправки информации о надвигающийся разрыв связи.
Конечно, если просто убить процесс браузера, это не сработает.
И я не уверен, есть ли у Rails какая-то уникальная магия, которая делает то же самое (кроме лучшего).