From d30eaed3a6b08c9b223a3dedc462a7b47c7aa818 Mon Sep 17 00:00:00 2001 From: erjemin Date: Wed, 5 Aug 2026 22:23:49 +0300 Subject: [PATCH] =?UTF-8?q?add:=20js-=D1=81=D1=87=D0=B5=D1=82=D1=87=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2=20(=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D0=B1?= =?UTF-8?q?=D1=8E=D1=87=D1=8F=D1=8E=D1=82=D1=81=D1=8F=20=D0=B5=D1=81=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=B0=D0=BD=D0=BE=20=D1=81=D0=BE=D0=B3=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D0=B8=D0=B5=20=D0=BD=D0=B0=20=D0=BE=D1=82=D1=81?= =?UTF-8?q?=D0=BB=D0=B5=D0=B6=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/static/js/analytics.js | 98 +++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 public/static/js/analytics.js diff --git a/public/static/js/analytics.js b/public/static/js/analytics.js new file mode 100644 index 0000000..c0cfac9 --- /dev/null +++ b/public/static/js/analytics.js @@ -0,0 +1,98 @@ +// analytics.js — Аналитика и счетчики посещений для oknardia.ru +// Версия: 1.0 | Дата: 2026-05-15 +// Содержит: Google Analytics 4, Yandex.Metrika, Top.Mail.Ru + +(function() { + 'use strict'; + + // ============================================================================ + // Google Analytics 4 (GA4) + // ID: GT-XXXXXXXX + // ============================================================================ + (function() { + var script = document.createElement('script'); + script.async = true; + script.src = 'https://www.googletagmanager.com/gtag/js?id=GT-XXXXXXXX'; + document.head.appendChild(script); + + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + window.gtag = gtag; + gtag('js', new Date()); + gtag('config', 'GT-XXXXXXXX'); + })(); + + // ============================================================================ + // Yandex.Metrika (Яндекс.Метрика) + // ID: 12345678 + // ============================================================================ + (function() { + window.ym = window.ym || function(){ + (window.ym.a = window.ym.a || []).push(arguments); + }; + window.ym.l = 1 * new Date(); + + // Загружаем скрипт Метрики + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = 'https://mc.yandex.ru/metrika/tag.js'; + document.head.appendChild(script); + + // Инициализируем Метрику + window.ym(12345678, 'init', { + trackHash: true, + clickmap: true, + referrer: document.referrer, + url: location.href, + accurateTrackBounce: true, + trackLinks: true + }); + })(); + + // ============================================================================ + // Top.Mail.Ru counter (Рейтинг@Mail.ru) + // ID: 1234567 + // ============================================================================ + (function() { + var _tmr = window._tmr || (window._tmr = []); + _tmr.push({ + id: "1234567", + type: "pageView", + start: (new Date()).getTime() + }); + + (function(d, w, id) { + if (d.getElementById(id)) return; + var ts = d.createElement("script"); + ts.type = "text/javascript"; + ts.async = true; + ts.id = id; + ts.src = "https://top-fwz1.mail.ru/js/code.js"; + + var f = function() { + var s = d.getElementsByTagName("script")[0]; + s.parentNode.insertBefore(ts, s); + }; + + if (w.opera == "[object Opera]") { + d.addEventListener("DOMContentLoaded", f, false); + } else { + f(); + } + })(document, window, "tmr-code"); + + // Добавляем изображение для noscript + if (!window.noScriptAdded) { + window.noScriptAdded = true; + var noscriptDiv = document.createElement('div'); + noscriptDiv.style.display = 'none'; + noscriptDiv.innerHTML = 'Top.Mail.Ru'; + document.body.appendChild(noscriptDiv); + } + })(); + +})(); + +// Экспортируем gtag в глобальный контекст для возможности использования в коде +// window.gtag доступна через глобальную переменную +