(function () {
'use strict';
// =========================================
// ОСНОВНЫЕ НАСТРОЙКИ
// =========================================
const METRIKA_ID = 45608397;
const CONSENT_COOKIE = 'kvartiryConsentV1';
const CONSENT_DAYS = 180;
const COOKIE_DOMAIN = 'kvartiry-posutochno16.ru';
const POLICY_URL =
'https://kvartiry-posutochno16.ru/policy/';
const COOKIES_URL =
'https://kvartiry-posutochno16.ru/cookies/';
const CONSENT_URL =
'https://kvartiry-posutochno16.ru/consent/';
// Используем ту же страницу запрета рекламы,
// что и на сайте «Электрики16».
const NO_SPAM_URL =
'https://elektriki16.ru/no-spam/';
const METRIKA_INFO_URL =
'https://yandex.com/support/metrica/ru/code/data-collected.html';
const COOKIE_INFO_URL =
'https://yandex.ru/adv/edu/materials/cookie-chto-ehto-takoe';
const WEBVISOR_INFO_URL =
'https://yandex.ru/support/metrica/ru/webvisor/info';
const currentScript = document.currentScript;
let metrikaStarted = false;
let settings = null;
// =========================================
// ЧТЕНИЕ СОГЛАСИЯ
// =========================================
function getConsent() {
const prefix = CONSENT_COOKIE + '=';
const parts = document.cookie.split(';');
for (let i = 0; i < parts.length; i++) {
const part = parts[i].trim();
if (part.indexOf(prefix) !== 0) {
continue;
}
try {
const value = JSON.parse(
decodeURIComponent(
part.substring(prefix.length)
)
);
if (
value &&
typeof value.analytics === 'boolean'
) {
return value;
}
return null;
} catch (e) {
return null;
}
}
return null;
}
// =========================================
// СОХРАНЕНИЕ СОГЛАСИЯ
// =========================================
function saveConsent(analytics) {
const value = {
necessary: true,
analytics: Boolean(analytics),
updated: Date.now()
};
const maxAge = CONSENT_DAYS * 86400;
const expires = new Date(
Date.now() + maxAge * 1000
).toUTCString();
document.cookie =
CONSENT_COOKIE + '=' +
encodeURIComponent(JSON.stringify(value)) +
'; Expires=' + expires +
'; Max-Age=' + maxAge +
'; Path=/' +
'; Domain=' + COOKIE_DOMAIN +
'; SameSite=Lax' +
(location.protocol === 'https:' ? '; Secure' : '');
return value;
}
// =========================================
// ЯНДЕКС.МЕТРИКА
// Запуск только после согласия
// =========================================
function startMetrika() {
if (
metrikaStarted ||
!settings ||
settings.analytics !== true
) {
return;
}
const currentConsent = getConsent();
if (
!currentConsent ||
currentConsent.analytics !== true
) {
return;
}
metrikaStarted = true;
// Не загружаем второй экземпляр tag.js,
// если очередь ym уже создана.
if (typeof window.ym !== 'function') {
(function (m, e, t, r, i, k, a) {
m[i] = m[i] || function () {
(m[i].a = m[i].a || []).push(arguments);
};
m[i].l = 1 * new Date();
k = e.createElement(t);
a = e.getElementsByTagName(t)[0];
k.async = 1;
k.src = r;
a.parentNode.insertBefore(k, a);
})(
window,
document,
'script',
'https://mc.yandex.ru/metrika/tag.js',
'ym'
);
}
window.ym(METRIKA_ID, 'init', {
webvisor: true,
clickmap: true,
accurateTrackBounce: true,
trackLinks: true
});
}
// =========================================
// СОЗДАНИЕ ОБЩЕГО МОДУЛЯ
// =========================================
function init() {
if (document.getElementById('site-cookie-module')) {
return;
}
if (!document.body) {
return;
}
const root = document.createElement('div');
root.id = 'site-cookie-module';
root.innerHTML = `
Сайт использует необходимые cookie для своей работы.
С вашего согласия подключается Яндекс Метрика,
включая Вебвизор, для анализа посещаемости и
взаимодействия с сайтом.
Что такое cookie
·
Данные Яндекс Метрики
·
О Вебвизоре
·
Политика cookie
·
Политика конфиденциальности
·
Согласие на обработку персональных данных
Выбор сохраняется на 180 дней. Изменить его можно
в любое время через «Настройки cookie» в подвале
сайта. Отключение cookie может повлиять на работу
отдельных функций.
Другие счётчики, рекламные инструменты и сторонние
виджеты необходимо отдельно настроить так, чтобы
они не загружались до получения соответствующего
согласия.
Cookie и конфиденциальность