Меню документації
JavaScript API
JavaScript-SDK CookieHug: об'єкт CookieHug, властивості згоди й стану, читання згоди та методи (show, hide, renew, withdraw, submit…).
Довідник JavaScript-SDK
CookieHug надає глобальний об'єкт window.CookieHug, який відкриває доступ до стану згоди, методів, подій і колбеків.
CookieHug.consent
| Властивість | Тип | Опис |
|---|---|---|
consent.necessary | boolean | Завжди true — необхідні cookie не можна відхилити |
consent.preferences | boolean | Чи прийняв користувач cookie налаштувань |
consent.statistics | boolean | Чи прийняв користувач статистичні cookie |
consent.marketing | boolean | Чи прийняв користувач маркетингові cookie |
consent.method | string | null | "explicit", якщо користувач зробив вибір, null — якщо ще не відповів |
Властивості стану
| Властивість | Тип | Опис |
|---|---|---|
CookieHug.consented | boolean | true, якщо користувач прийняв будь-які необов'язкові cookie |
CookieHug.declined | boolean | true, якщо користувач відхилив усі необов'язкові cookie |
CookieHug.hasResponse | boolean | true, якщо користувач відповів (прийняв або відхилив) |
CookieHug.doNotTrack | boolean | true, якщо в браузері увімкнено налаштування 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.gdprApplies | boolean | true, якщо відвідувач у Європі (зона GDPR) |
regulations.ccpaApplies | boolean | true, якщо відвідувач у США (зона CCPA) |
regulations.lgpdApplies | boolean | true, якщо відвідувач у Бразилії (зона LGPD) |
Приклад: читання стану згоди
// Перевірка, чи користувач уже відповів
if (window.CookieHug.hasResponse) {
console.log('Користувач зробив вибір');
if (window.CookieHug.consent.statistics) {
// Можна безпечно ініціалізувати аналітику
initAnalytics();
}
if (window.CookieHug.consent.marketing) {
// Можна завантажувати маркетингові піксели
loadMarketingPixels();
}
}
// Перевірка чинних норм
if (window.CookieHug.regulations.gdprApplies) {
console.log('До цього відвідувача застосовується GDPR');
}Методи
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)
Програмно надсилає власний набір згод.
| Параметр | Тип | Опис |
|---|---|---|
preferences | boolean | Дозволити або відхилити cookie налаштувань |
statistics | boolean | Дозволити або відхилити статистичні cookie |
marketing | boolean | Дозволити або відхилити маркетингові cookie |
// Прийняти лише статистику, відхилити маркетинг і налаштування
CookieHug.submitCustomConsent(false, true, false);
// Прийняти все
CookieHug.submitCustomConsent(true, true, true);
// Відхилити всі необов'язкові категорії
CookieHug.submitCustomConsent(false, false, false);CookieHug.getScript(url, async, callback)
Динамічно завантажує зовнішній скрипт. Зручно, коли скрипти треба підвантажити після отримання згоди.
| Параметр | Тип | Опис |
|---|---|---|
url | string | Адреса скрипта для завантаження |
async | boolean | Чи завантажувати асинхронно |
callback | function | Викликається після завантаження скрипта |
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();