Технические ограничения для Воспроизведения сессий в веб-приложениях

Материал из Документация Ключ-АСТРОМ

Технические ограничения для Воспроизведения сессий в веб-приложениях

Функция Воспроизведения сессий совместима с постраничными приложениями, одностраничными приложениями и приложениями, использующими IFrames. Однако существуют определенные ограничения.

Поддержка браузеров

  • Поддерживаемые версии браузеров для записи сеансов
  • Поддерживаемые версии браузеров для воспроизведения сеансов

Технологические ограничения

Следующие технологии не поддерживаются:

  • Рамки (Frames)
  • Canvas
  • WebGL
  • API веб-анимации (Web Animation API)
  • Плагины, такие как Adobe Flash Player, Java-апплеты и технологии, не использующие HTML.
  • Документы, такие как PDF-файлы и документы Word.
  • Псевдоклассы :visited, :focus и :active CSS

IFrames

Поддерживается запись с использованием IFrame и вложенных IFrame. Однако действуют следующие ограничения:

  • В каждый IFrame необходимо внедрить RUM JavaScript. Если RUM JavaScript внедрен только в родительский элемент, а не в IFrame, содержимое IFrame и интерактивные элементы не будут отображаться в воспроизведении. Это связано с тем, что невозможно просматривать содержимое IFrame с родительской страницы.
  • Запись через IFrame работает только в том случае, если страница содержит RUM JavaScript. Если RUM JavaScript присутствует только в IFrame, не являющемся родительской страницей, воспроизведение отобразит его как верхний фрейм записи. В этом случае взаимодействия в родительском фрейме (например, прокрутка) записываться не будут.
  • Одно и то же приложение должно отслеживать как родительскую страницу, так и IFrame. Если для родительской страницы и IFrame используются разные приложения, IFrame не будет корректно отображаться в воспроизведении.

Ресурсы

По умолчанию функция Воспроизведения сессий захватывает и сохраняет ресурсы CSS во время записи пользовательской сессии. Однако Воспроизведение сессий не может воспроизводить URL-адреса BLOB-объектов.

Если вы отключите захват ресурсов для воспроизведения сессии, будут действовать следующие ограничения. Эти ограничения также распространяются на изображения и шрифты, даже если захват ресурсов для воспроизведения сессии включен.

  • Ресурсы должны быть доступны в браузере, используемом для воспроизведения. Должно быть прямое соединение с сервером, предоставляющим эти ресурсы.
  • Ресурсы нельзя защитить. Если ресурсы защищены, убедитесь, что игрок может получить к ним доступ без аутентификации.
  • Ресурсы нельзя персонализировать. Это относится к ресурсам, которые отличаются для каждого пользователя, но предоставляются по одному и тому же URL-адресу. Однако это ограничение не распространяется на URL-адреса, которые отличаются для каждого персонализированного ресурса. Примером могут служить изображения аватаров, которые используют один и тот же URL-адрес для отображения разных аватаров для разных пользователей.

Для преодоления этих ограничений мы рекомендуем включить захват ресурсов для воспроизведения сеанса.

Динамические формы

Если вы динамически обновляете значения в форме, и они не отображаются в записи Воспроизведения сессий, проверьте код приложения и убедитесь, как именно вы осуществляете обновление — возможно, вы обновляете свойство .value элемента формы. Хотя мы понимаем, что это допустимый метод обновления, он не запускает никаких событий на странице, поэтому Ключ-АСТРОМ не знает об изменении. В качестве альтернативного решения мы предлагаем обновлять значение атрибута (в случае <input> элементов) или свойство .textContent (в случае <textarea> элементов). Таким образом, Ключ-АСТРОМ будет уведомлен об изменениях и правильно их запишет.

Объем

В среднем, минута записи и воспроизведения сессии занимает 100 КБ дискового пространства. Это также соответствует требуемому объему пропускной способности канала связи от клиентской системы к серверам Ключ-АСТРОМ. Однако это значение не может быть гарантировано, поскольку зависит от веб-приложения. Приложения с очень частыми изменениями DOM, большими начальными размерами или интенсивным использованием IFrames могут создавать большие объемы данных.

Передача данных и ЕдиныйАгент

Убедитесь, что вы используете ЕдиныйАгент версии 1.193 или выше, поскольку она поддерживает большой объем передачи маяков.

Поддержка передачи большого количества сигналов через Beacon доступна для всех агентов, поддерживающих мониторинг реальных пользователей:

  • Apache
  • NGINX
  • Java
  • IIS
  • Node.js

Поддержка приложений

Веб-приложения — сложные системы. Хотя Воспроизведение сессий разработано для работы с любыми веб-приложениями и включает поддержку IFrames и одностраничных приложений, могут быть случаи, когда воспроизведение взаимодействия с пользователем не будет идеальным. По этой причине Воспроизведение сессий может не обеспечивать адекватное воспроизведение пользовательского опыта для всех веб-приложений.

Веб-сайты, изменяющие собственные API браузера, могут вызывать конфликты с кодом агента JavaScript и препятствовать корректной записи страницы.

Среда

Функция Воспроизведения сессий должна отправлять данные из клиентских браузеров в ваш кластер Ключ-АСТРОМ. Передача данных может завершиться неудачей в зависимости от среды, доступного сетевого подключения, скорости, задержки сети, проблем с подключением, пропускной способности и других факторов, связанных с окружающей средой.