Меню документації

JavaScript API

JavaScript-SDK CookieHug: об'єкт CookieHug, властивості згоди й стану, читання згоди та методи (show, hide, renew, withdraw, submit…).

Довідник JavaScript-SDK

CookieHug надає глобальний об'єкт window.CookieHug, який відкриває доступ до стану згоди, методів, подій і колбеків.

Властивості стану

ВластивістьТипОпис
CookieHug.consentedbooleantrue, якщо користувач прийняв будь-які необов'язкові cookie
CookieHug.declinedbooleantrue, якщо користувач відхилив усі необов'язкові cookie
CookieHug.hasResponsebooleantrue, якщо користувач відповів (прийняв або відхилив)
CookieHug.doNotTrackbooleantrue, якщо в браузері увімкнено налаштування Do Not Track

CookieHug.regulations

Визначення відбувається у два кроки: (1) резервний варіант за часовим поясом спрацьовує одразу під час завантаження скрипта; якщо виявлено європейський часовий пояс, regulations.region додатково отримує псевдорегіон "EEA", щоб подальші виклики gtag('consent','default',{region}) мали правильний обсяг. (2) Серверний резолвер GET /api/runtime/regulations (CF-IPCountry від Cloudflare) виконується паралельно із завантаженням конфігурації — коли він повертає region, це значення є визначальним і повністю перезаписує резервний варіант за часовим поясом (разом з усіма прапорцями *Applies), тож випадки з VPN або невідповідним часовим поясом виправляються.

ВластивістьТипОпис
regulations.gdprAppliesbooleantrue, якщо відвідувач у Європі (зона GDPR)
regulations.ccpaAppliesbooleantrue, якщо відвідувач у США (зона CCPA)
regulations.lgpdAppliesbooleantrue, якщо відвідувач у Бразилії (зона LGPD)

Методи

CookieHug.show()

Примусово показує банер згоди.

CookieHug.show();

CookieHug.hide()

Програмно приховує банер згоди.

CookieHug.hide();

CookieHug.renew()

Показує банер знову, щоб користувач змінив свої налаштування. Ідеально для посилання «Налаштування cookie».

// Приклад: власне посилання на налаштування cookie
document.getElementById('cookie-settings')
  .addEventListener('click', function() {
    CookieHug.renew();
  });

CookieHug.withdraw()

Відкликає згоду користувача. Видаляє всі дані згоди (localStorage і HTTP-cookie), повертає Google Consent Mode до denied, надсилає подію consent_update до dataLayer, скидає стан ScriptBlocker і автоматично перезавантажує сторінку, щоб усі скрипти враховували новий стан відмови.

CookieHug.withdraw();

CookieHug.submitCustomConsent(preferences, statistics, marketing)

Програмно надсилає власний набір згод.

ПараметрТипОпис
preferencesbooleanДозволити або відхилити cookie налаштувань
statisticsbooleanДозволити або відхилити статистичні cookie
marketingbooleanДозволити або відхилити маркетингові cookie
// Прийняти лише статистику, відхилити маркетинг і налаштування
CookieHug.submitCustomConsent(false, true, false);

// Прийняти все
CookieHug.submitCustomConsent(true, true, true);

// Відхилити всі необов'язкові категорії
CookieHug.submitCustomConsent(false, false, false);

CookieHug.getScript(url, async, callback)

Динамічно завантажує зовнішній скрипт. Зручно, коли скрипти треба підвантажити після отримання згоди.

ПараметрТипОпис
urlstringАдреса скрипта для завантаження
asyncbooleanЧи завантажувати асинхронно
callbackfunctionВикликається після завантаження скрипта
if (CookieHug.consent.statistics) {
  CookieHug.getScript(
    'https://www.google-analytics.com/analytics.js',
    true,
    function() {
      console.log('Аналітику завантажено');
    }
  );
}

CookieHug.runScripts()

Перевіряє та виконує всі теги <script> із позначкою data-cookiehug-consent, які відповідають поточному стану згоди. Викликається автоматично після надання згоди, але в SPA його можна викликати вручну після завантаження динамічного вмісту.

CookieHug.runScripts();