VKirill

copy_name - store

Jun 23rd, 2023
720
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. // Автор: Вечкасов Кирилл | TG блог: https://t.me/pomogay_marketing
  3. // Скрипт отслеживание выделение H1 заголовка на сайте когда пользователь выделяет мышкой или на экране телефона весь заголовок или только его часть
  4. // Скрипт подходит отлично для интернет магазинов где надо отследить сколько человек выделило название товара или его часть и ушло искать его в Яндекс/ Google
  5.  
  6. // Добавляем обработчики событий "touchend" и "mouseup" для документа
  7. document.addEventListener("touchend", handleSelection);
  8. document.addEventListener("mouseup", handleSelection);
  9.  
  10. // Обработчик события выделения текста
  11. function handleSelection() {
  12.   // Получаем выделенный текст
  13.   var selectedText = getSelectedText();
  14.  
  15.   // Проверяем, что выделенный текст не пустой и родительский элемент является h1
  16.   if (selectedText !== "" && isParentH1Element()) {
  17.     // Выводим информацию о выделенном тексте в консоль
  18.     console.log("Выделенный текст из h1: " + selectedText);
  19. // Создайте JavaScript-событие в Яндекс Метрике с названием copy_name_h1 и вместо ID_METIKA впишите свой номер счетчика Яндекс Метрики
  20.     ym(21588229,'reachGoal','copy_name_h1')
  21.   }
  22. }
  23.  
  24. // Функция получения выделенного текста
  25. function getSelectedText() {
  26.   var text = "";
  27.   if (typeof window.getSelection !== "undefined") {
  28.     text = window.getSelection().toString();
  29.   } else if (typeof document.selection !== "undefined" && document.selection.type === "Text") {
  30.     text = document.selection.createRange().text;
  31.   }
  32.   return text;
  33. }
  34.  
  35. // Функция проверки, что родительский элемент выделения является h1
  36. function isParentH1Element() {
  37.   var selection = window.getSelection();
  38.   if (selection.rangeCount > 0) {
  39.     var parentElement = selection.getRangeAt(0).commonAncestorContainer.parentNode;
  40.     return parentElement.tagName === "H1";
  41.   }
  42.   return false;
  43. }
  44.   </script>
Advertisement
Add Comment
Please, Sign In to add comment