MediaWiki:Common.js

Материал из Oktell
Версия от 13:40, 4 июня 2026; Admin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
  • Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
  • Opera: Выберите очистку кэша в меню Инструменты → Настройки




(function () {
  var STORAGE_KEY = 'oktell_cookie_consent';

  function hasConsent() {
    return localStorage.getItem(STORAGE_KEY) === 'accepted';
  }

  function hasDeclined() {
    return localStorage.getItem(STORAGE_KEY) === 'declined';
  }

  function saveConsent(value) {
    localStorage.setItem(STORAGE_KEY, value);
  }

  function createCookieBanner() {
    if (hasConsent() || hasDeclined()) {
      return;
    }

    var banner = document.createElement('div');
    banner.className = 'oktell-cookie-banner';
    banner.innerHTML =
      '<div class="oktell-cookie-text">' +
        'Мы используем cookies для корректной работы сайта, анализа посещаемости и улучшения пользовательского опыта. ' +
        'Продолжая пользоваться сайтом, вы можете согласиться с использованием cookies. ' +
        '<a href="/index.php?title=Политика_конфиденциальности">Подробнее в Политике конфиденциальности</a>.' +
      '</div>' +
      '<div class="oktell-cookie-actions">' +
        '<button type="button" class="oktell-cookie-btn oktell-cookie-decline">Не согласен</button>' +
        '<button type="button" class="oktell-cookie-btn oktell-cookie-accept">Согласен</button>' +
      '</div>';

    document.body.appendChild(banner);

    setTimeout(function () {
      banner.classList.add('is-visible');
    }, 300);

    var acceptBtn = banner.querySelector('.oktell-cookie-accept');
    var declineBtn = banner.querySelector('.oktell-cookie-decline');

    acceptBtn.addEventListener('click', function () {
      saveConsent('accepted');
      banner.classList.remove('is-visible');
      setTimeout(function () {
        banner.remove();
      }, 300);

      if (typeof window.oktellLoadAnalytics === 'function') {
        window.oktellLoadAnalytics();
      }
    });

    declineBtn.addEventListener('click', function () {
      saveConsent('declined');
      banner.classList.remove('is-visible');
      setTimeout(function () {
        banner.remove();
      }, 300);
    });
  }

  document.addEventListener('DOMContentLoaded', createCookieBanner);
})();