Рекомендую хостингПеренос сайтов и месяц на тестирование - бесплатно!

Установка и получение cookie с помощью js

161

Создание куки

Несколько способов установить куки с именем city с помощью JavaScript.

// Установка на 30 дней с путем для всего сайта let date = new Date(); date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000)); document.cookie = "city=Москва; expires=" + date.toUTCString() + "; path=/";

Готовая функция для установки куки

function setCookie(name, value, days = 30) { let expires = ""; if (days) { let date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + encodeURIComponent(value) + expires + "; path=/"; } // Использование setCookie('city', 'Москва');

Установка с обработкой кириллицы

function setCity(cityName) { // Кодируем значение для корректного сохранения кириллицы let encodedValue = encodeURIComponent(cityName); // Устанавливаем срок действия на 30 дней let date = new Date(); date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000)); // Устанавливаем куки document.cookie = `city=${encodedValue}; expires=${date.toUTCString()}; path=/; SameSite=Lax`; console.log(`Город "${cityName}" сохранен в куки`); } // Использование setCity('Москва');

Получение куки

Получение куки с именем city

function getCityCookie() { let cookies = document.cookie.split('; '); for (let i = 0; i < cookies.length; i++) { let cookie = cookies[i].split('='); if (cookie[0] === 'city') { return decodeURIComponent(cookie[1]); } } return null; } // Использование let city = getCityCookie();

Получение с проверкой существования

function getCity() { let cookieValue = document.cookie .split('; ') .find(row => row.startsWith('city=')); if (cookieValue) { return decodeURIComponent(cookieValue.split('=')[1]); } return null; } let city = getCity(); if (city) { console.log('Город:', city); } else { console.log('Куки city не найдена'); }

Получение с обработкой закодированных значений

function getCookie(name) { let value = "; " + document.cookie; let parts = value.split("; " + name + "="); if (parts.length === 2) { return decodeURIComponent(parts.pop().split(";").shift()); } return null; } let city = getCookie('city'); console.log(city);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*
code