Отслеживание действий пользователя в реальном времени?

Как отслеживать действия пользователя в реальном времени (аля просмотр экрана через teamviewer) через браузер, вообще на каких технологиях это основывается?

Видел, что такое реализовано, вот на этом проекте
https://www.figma.com

То, ест там ты в реальном времени видишь, как дизайнер ходит по макету, создает слои, видишь его курсор и т.д.

UPD: Имеется ввиду просматривать через браузер не рабочий стол пользователя, а сайт по которому ходит клиент...
  • Вопрос задан
  • 1314 просмотров
Пригласить эксперта
Ответы на вопрос 5
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Отслеживаем изменения dom на странице через
https://developer.mozilla.org/ru/docs/Web/API/Muta...
посылаем их (а также позицию курсора, текущий элемент в фокусе, текущую прокрутку, и наверное еще чего нибудь, что сразу в голову не приходит) через webrtc
https://github.com/feross/simple-peer
https://github.com/peers/peerjs
Если объем пакета данных получается слишком большой, можно попробовать жать их через https://github.com/nodeca/pako
Ответ написан
Комментировать
zoonman
@zoonman
⋆⋆⋆⋆⋆
Отслеживается это следующим образом - создается DOM-снимок, затем просто отслеживаются движения мышью, они отправляются на сервер с помощью Ajax или его аналогов. Веб-визор в Яндекс.Метрике так работает.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
На винде это можно делать через RDP и shadow.
По моему, в браузере это так же работает.
Ответ написан
@aslanovich
Web/Art Designer. Front+Back-end Geek
Через AJAX - запросы, полагаю
Ответ написан
@Kirill-Gorelov
С ума с IT
Я как понимаю на вашем сайте это нужно делать?
Если да, то я бы оттолкнулся от более простого решения, чем вы привели в примере сайт.

Я бы на стороне клиента запускал бы скрипт, к примеру раз в 5 секунд. Который будет делать скрин того, что происходит у пользователя.
Мышки не будет видно, но что он вводит по формам и прочее, будет видно.
Скриншот, который будет делаться, будет сохраняться куда-то и потом просматривайте.

Конечно тут есть минус, в то что места на вашем сервере будет уходить огромное количество.
Но это самый простой вариант, хоть и не самый удачный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы