Всем привет! Объясните, пожалуйста, как работает Вебвизор от Яндекса с технической точки зрения.
В интернете ничего толкового не нашел. Пишут, что если изменить контент на сайте, то записи, сделанные ранее, будут не актуальны. Я добавил на сайт запись и даже изменил дизайн сайта полностью, но на записях остался старый дизайн без новой записи. Т.е. он не загружает в окно Вебвизора текущую версию сайта.
Я знаю, что при помощи JavaScript можно отслеживать координаты мыши, но все равно не могу понять, как это работает.
Вот я зашел на сайт и пробыл там минуту. Счетчик Метрики дал мне какой-то уникальный номер. И в течение всей минуты, скрипт установленный на сайте, где-то записывал координаты положения мыши?
А потом, когда я в Вебвизоре запускаю "запись" этого пользователя, то в окне просмотра отображается текущий сайт, встроенный в окно, через тег iframe и дальше в этом окне двигается курсор мыши, которому передаются координаты, которые были записаны ранее? Но как в окне просмотра перемещается курсор, если курсор у меня свой? Но так как я писал выше, что даже после смены всего дизайна в ранних записях дизайн остался старый, то получается, что через iframe он не подставляет текущую версию сайта.
Я сам уже совсем запутался. Объясните, пожалуйста, как это все работает. Ведь это все работает на JavaScript?
При посещении страницы в метрику передаются аяксом html страницы, действия пользователя и какая-то закодированная инфа.
То что происходит в бекенде мы не знаем.
В вебвизоре воспроизводится видео посещения на канвасе.
Вопросов у Вас много, что то Вы ответили сами.
Часть работает на JavaScript часть на серверном языке, поскольку JS шлёт данные о поведении клиента на сервер через WinSocket или Ajax. Там они сохраняются. Есть настройка у вебвизора она позволяет DOM дерево текущего состояния страницы на сервере сохранить, то есть посетитель берёт HTML и шлёт его на сервер по JS а на сервере уже сохраняется. Есть другой вариант когда робот приходит и берёт HTML текущего состояния страницы, то есть тогда по JS он от пользователя не передаётся, но тут может быть разница в информации на странице, поскольку пользователь мог быть авторизован, а робот яндекса если придёт авторизован не будет. Тут я описал почему в iframe отображается та версия страницы которая была при посещении(но повторюсь вроде как есть какая то настройка, можно отключить этот момент и будет отображается новая версия). Ещё моё предположение что iframe вообще нужен чтобы имитировать размер окна пользователя который заходил.
Касаемо курсора JS не торгает Ваш курсор, а использует рисование чтобы показать как во времени двигался курсор. А нарисовать можно хоть круг, хоть квадрат, хоть указатель аналогичный курсору - так что ответ Вам, вебвизор при воспроизведении Ваш курсор не трогает.
Считаю что зря Вы отметили вопрос как сложный. Если примерно ответить как работает или предположить как то достаточно понятно по-моему. Я не говорю о взять и сделать аналог. В любом случаи это бы уже была задача не для сайта вопросов.
В комментариях пишите если что то ещё по вопросу нужно пояснить.