@TopkaLife

Работа с cookie, поможете сделать рабочим?

Данный скрипт переключает тему с светлого на черный но не сохраняет в cookie в консоли выдает такую ошибку:
Uncaught ReferenceError: setcookie is not defined

Сам скрипт
function changeTheme() {
 if ($('body').hasClass('light')) {
 $('body').removeClass('light');
 $(".theme-light").remove();
 $('.change-color__light').removeClass('is-active');
 $('.change-color__dark').addClass('is-active');
 $('.change-color').attr("title", "Темное оформление");
 setcookie('theme-class', 'dark');
 } else {
 $('head').append('<link class="theme-light" rel="stylesheet" type="text/css" href="/templates/css/light.css?v=' + (new Date().getTime()) + '">');
 $('.change-color__dark').removeClass('is-active');
 $('.change-color__light').addClass('is-active');
 $('body').addClass('light');
 $('.change-color').attr("title", "Светлое оформление");
 setcookie('theme-class', 'light');
 }
}

Кнопка переключение
<div class="change-color" onclick="changeTheme();" title="Темное оформление"><span class="fas fa-moon"></span></div>
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sdsio
function setcookie(name, value, options = {}) {

options = {
path: '/',
// при необходимости добавьте другие значения по умолчанию
...options
};

if (options.expires instanceof Date) {
options.expires = options.expires.toUTCString();
}

let updatedCookie = encodeURIComponent(name) + "=" + encodeURIComponent(value);

for (let optionKey in options) {
updatedCookie += "; " + optionKey;
let optionValue = options[optionKey];
if (optionValue !== true) {
updatedCookie += "=" + optionValue;
}
}

document.cookie = updatedCookie;
}


добавьте этот код
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы