Как с домена А сделать запрос на на домен В только если юзер закрыл вкладку\ушел с домена А?
Доброе время суток.
Такой вопрос.
Есть домен А как внешний сервис, т.е. доступа к бэкэнду на нем нет, можно можно только добавить JS во фронтэнд, например JS код с GET или POST запрос к домену B.
Юзер приходит на домен А на первую страничку, затем переходит на второю, затем на третью и т.д., то есть последовательность всегда одна и та же с 1 до 4 странички.
Надо отслеживать эти переходы, если юзер ушел с сайта на странички 2 или 3 то надо исполнить сторонние скрипты аналитики на той странички с которой он ушел, потому что эти сторонние скрипты аналитики должны сработать один раз.
Как это можно сделать? Я так понимаю beforeunload сработает только если юзер сам закрыл вкладку, но не сработает если пропал интернет или юзер закрыл броузер целиком или комп завис. Нашел рекомендацию делать AJAX запросы с интервалами, что типа пинга, что бы понять что юзер все еще на сайте. Но как тогда запустить сторонние скрипт аналитики, может надо передавать с AJAX запросом, куки и все что нужно для скриптов аналитики, и если пинг вдруг оборвался тогда исполнять скрипты аналитики с куками уже на домене B?
Олег, разная и при чем постоянно разную используют, пробуют новое и т.д., поэтому и хочется какое то решение придумать которое не будет зависеть от настроек аналитики.
А что, если подключить Socket.io и при смене странички отсылать информацию об этом. Когда пользователь завершит сессию, то сокет мгновенно оборвётся. На выходе получаем номер страницы с которой ушёл клиент. Плюсом можно кучу другой аналитики собирать. Например, точное время нахождения пользователя на каждой конкретной странице, какие поля он заполнял, как долго, на заполнении какого поля клиент покинул страницу и т. д.
Aleksandr-JS-Developer, выглядит интересно, с Socket.io не дела еще ничего. Судя по документации у клиентской части хорошая поддержка почти всех броузеров и мобильных устройств? и такой вопрос, по вашему опыту оно точно лучше AJAX или это от задачи зависит?
210mev, Лично я с сокетами редко встречался. Особенность их в том, что они держат коннект постоянно (нагрузки на сервер). Учитывая, что вам нужно "держать руку на пульсе", то сокеты могут помочь. Они используются для онлайн браузерных игр. Это не руководство к действию, а лишь идея вам под черепушку.