Зачем нужен JS-код difflex на сайте?

JS код необходим для отслеживания активности посетителей. Состоит из кода инициализации и настроек вашего аккаунта. При запуске кода происходит подгрузка на страницу основного скрипта difflex.js.

<script type="text/javascript">
(function(w,d,c,h){w[c]=w[c]||function(){(w[c].q=w[c].q||[]).push(arguments)};var t = d.createElement('script');t.charset = 'utf-8';t.async = true;t.type = 'text/javascript';t.src = h;var s = d.getElementsByTagName('script')[0];s.parentNode.insertBefore(t, s);})(window,document,'difflex','https://cdn.jsdelivr.net/gh/difflex/difflex_js_client@latest/difflex.js');

difflex('appKey', 'xxxxxxxxxxxxxxxxxxxxxx');
</script>

Подгрузка единственного файла выполняется асинхронно с CND серверов. Это позволяет сохранять высокую скорость загрузки основной страницы сайта, что позитивно сказывается на SEO.

В файле difflex.js находится исполняемый JS скрипт. Он резервирует имя переменной window.difflex для обращений к API, устанавливает websocket соединение с сервером. На сервер отправляются события об активности. В событиях указан тип события, данные о браузере, посетителе и сопутствующая информация.

Так же, в исполняемом файле есть стили для показа виджетов и чата. Они динамически вставляются в тело страницы. Стили имеют изолированный префикс и по тому никак не влияют на оформление вашего сайта.

Помимо стилей в тело страницы вставляется контейнер для отображения виджетов и чата. Никаких дополнительных манипуляций с содержимым страниц не выполняется. Главная задача скрипта - не мешать работе сайта.

Исполняемый код добавляет обработчик вводимых данных для полей с типом input text и input email. Данные проверяются по регулярному выражению на предмет поиска email адреса. Если значение похоже на email, то оно отсылается в качестве email посетителя в базу контактов difflex. Никакие другие вводимые данные автоматически не отслеживаются и не предаются. Настройку "захвата email" можно отключить в настройках аккаунта.

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

Готовы начать?