Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- // Автор: Вечкасов Кирилл | TG блог: https://t.me/pomogay_marketing
- // Скрипт отслеживание выделение H1 заголовка на сайте когда пользователь выделяет мышкой или на экране телефона весь заголовок или только его часть
- // Скрипт подходит отлично для интернет магазинов где надо отследить сколько человек выделило название товара или его часть и ушло искать его в Яндекс/ Google
- // Добавляем обработчики событий "touchend" и "mouseup" для документа
- document.addEventListener("touchend", handleSelection);
- document.addEventListener("mouseup", handleSelection);
- // Обработчик события выделения текста
- function handleSelection() {
- // Получаем выделенный текст
- var selectedText = getSelectedText();
- // Проверяем, что выделенный текст не пустой и родительский элемент является h1
- if (selectedText !== "" && isParentH1Element()) {
- // Выводим информацию о выделенном тексте в консоль
- console.log("Выделенный текст из h1: " + selectedText);
- // Создайте JavaScript-событие в Яндекс Метрике с названием copy_name_h1 и вместо ID_METIKA впишите свой номер счетчика Яндекс Метрики
- ym(21588229,'reachGoal','copy_name_h1')
- }
- }
- // Функция получения выделенного текста
- function getSelectedText() {
- var text = "";
- if (typeof window.getSelection !== "undefined") {
- text = window.getSelection().toString();
- } else if (typeof document.selection !== "undefined" && document.selection.type === "Text") {
- text = document.selection.createRange().text;
- }
- return text;
- }
- // Функция проверки, что родительский элемент выделения является h1
- function isParentH1Element() {
- var selection = window.getSelection();
- if (selection.rangeCount > 0) {
- var parentElement = selection.getRangeAt(0).commonAncestorContainer.parentNode;
- return parentElement.tagName === "H1";
- }
- return false;
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment