From 0d1a153fc8cdbd1a384a0d96edbddd11401a8193 Mon Sep 17 00:00:00 2001 From: itqop Date: Sun, 17 Mar 2024 23:53:49 +0300 Subject: [PATCH] JS cookie --- home/static/js/scripts.js | 48 +++++++++++++-------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/home/static/js/scripts.js b/home/static/js/scripts.js index aabbbda..8859407 100644 --- a/home/static/js/scripts.js +++ b/home/static/js/scripts.js @@ -1,39 +1,23 @@ -function setCookie(name, value, days) { - var expires = ""; - if (days) { - var date = new Date(); - date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); - expires = "; expires=" + date.toUTCString(); - } - document.cookie = name + "=" + (value || "") + expires + "; path=/"; -} +document.addEventListener("DOMContentLoaded", function() { + // Проверяем, приняли ли пользователи куки + var cookiesAccepted = getCookie("cookies_accepted"); -// Функция, которая проверяет, установлен ли куки -function getCookie(name) { - var nameEQ = name + "="; - var ca = document.cookie.split(';'); - for (var i = 0; i < ca.length; i++) { - var c = ca[i]; - while (c.charAt(0) === ' ') c = c.substring(1, c.length); - if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + // Если куки не приняты, показываем div с сообщением о куки + if (!cookiesAccepted) { + var cookieAlert = document.getElementById("icms-cookiealert"); + if (cookieAlert) { + cookieAlert.style.display = "block"; + } } - return null; -} - -// Проверяем, установлен ли куки при загрузке страницы -window.onload = function () { - var cookieAccepted = getCookie("cookies_accepted"); - if (!cookieAccepted) { - document.getElementById("icms-cookiealert").style.display = "block"; - } -}; - -// Обработчик нажатия на кнопку "Согласен" -document.getElementById("accept-cookies-btn").addEventListener("click", function () { - setCookie("cookies_accepted", true, 365); // Устанавливаем куки на год - document.getElementById("icms-cookiealert").style.display = "none"; // Скрываем cookie alert }); +// Функция для получения значения куки по имени +function getCookie(name) { + var cookieValue = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)'); + return cookieValue ? cookieValue.pop() : ''; +} + + document.addEventListener("DOMContentLoaded", function() { var navbarToggler = document.querySelector('.navbar-toggler'); var targetMain = document.querySelector('#target-main');