как извлечь значения из конкретного cookie в javascript

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
20 декабря 2024

В JavaScript все cookies доступны через свойство document.cookie в виде одной длинной строки, где каждая cookie отделена точкой с запятой и пробелом. Например:

// document.cookie может выглядеть так:
"username=John; theme=dark; sessionId=abc123"

Извлечь их можно, например, написав подобный обработчик

function getCookie(name) {
    // Получаем все cookies в виде строки
    const cookieString = document.cookie;

    // Разбиваем строку на отдельные cookies
    const cookies = cookieString.split('; ');

    // Ищем нужную cookie, которая начинается с указанного имени
    const targetCookie = cookies.find(cookie => 
        cookie.startsWith(name + '=')
    );

    // Если cookie найдена, извлекаем её значение
    if (targetCookie) {
        // Разделяем строку по знаку '=' и берём значение
        return targetCookie.split('=')[1];
    }

    // Если cookie не найдена, возвращаем null
    return null;
}

const userTheme = getCookie('theme'); // => 'theme'
0 0