// Встановлюємо кукі з іменем "username" та значенням "John"document.cookie ="username=John";
2. Отримання значення кукі:
// Отримуємо всі кукіvar allCookies =document.cookie;// Отримуємо значення кукі з іменем "username"var usernameCookie =getCookie("username");// Функція для отримання значення кукі за іменемfunctiongetCookie(name) {var nameEQ = name +"=";var cookiesArray =allCookies.split(';');for(var i =0; i <cookiesArray.length; i++) {var cookie = cookiesArray[i];while (cookie.charAt(0) ==' ') { cookie =cookie.substring(1,cookie.length); }if (cookie.indexOf(nameEQ) ==0) {returncookie.substring(nameEQ.length,cookie.length); } }returnnull;}
‼️Помітив, що якщо в куки потрапляє email - то він береться в лапки (очевидно, через знак @), тобто при зчитуванні треба буде ще видаляти лапки.
Name
Value
login
olexsyn
email
"olex@syn.mail"
functiongetCookie(name){let nameEQ = name +"=";let cookiesArray =document.cookie.split(';');for (let i =0; i <cookiesArray.length; i++) {let cookie = cookiesArray[i];while (cookie.charAt(0) ==' ') { cookie =cookie.substring(1,cookie.length); }if (cookie.indexOf(nameEQ) ==0) {let quoted_email =cookie.substring(nameEQ.length,cookie.length);// email в кукі записується в лапках!constre= /("|')(.*?)\1/gm; // тут ми лапки знаходимо і беремо що між ними видаляємоreturnquoted_email.replace(re,"$2"); // cookie.substring(nameEQ.length, cookie.length); } }returnnull;}let usernameCookie =getCookie("eml");let login =document.getElementById("login");login.value = usernameCookie;
3. Видалення кукі:
// Функція для видалення кукі за іменемfunctiondeleteCookie(name) {document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';}// Видаляємо кукі з іменем "username"deleteCookie("username");
Зверніть увагу, що кукі зазвичай зберігаються як один рядок, розділений крапкою з комою (;). У JavaScript немає прямого методу для роботи з кукі, але ви можете використовувати document.cookie для звернення до всіх кукі. Щоб отримати значення конкретної кукі, вам потрібно розбити рядок кукі на окремі кукі та виконати пошук значення кукі за іменем. Для видалення кукі потрібно встановити її строку з вичеркуванням (Expires) у минулому.
Десь побачив таке:
...странно то, что никто ещё не задал вопроса о том как вставлять доп свойства в сеткуки! Нет ни одного примера, где вставляется адрес path=/; для куки. Делается это так: