Регулярно приходится хранить какие-либо данные в cookie. Ставить огромные библиотеки лениво, некоторые из них даже (!!!) требуют jQuery. Но работать из ванильного JS намного проще и быстрее.
Вот сама библиотека, которую я написал специально для этой статьи. Идея простая — сделать так, чтобы можно было работать с cookie без долгих установок. В моей библиотеке содержится всего три простые функции, которые можно скопировать в свой код и не задумываться о том, как это работает.
Пример создания cookie со сроком годности 7 дней
const cookies = new Cookies(); //Создаём инстнс класса const date = new Date(); date.setDate(date.getDate() + 7); //Задаём дату, когда куки протухнут cookies.set('name', 'value', {expires: date}); //Устанавливаем куки
Всё просто. Более того, от последнего аругмента функции можно отказаться, куки автоматически установятся на 30 дней. Исправить значение по-умолчанию вы можете в коде класса. Я пометил, где именно. Если указать дату в прошлом — то куки будут удалены. Эта же функция обновляет значение.
Чтение куки так же очень просто реализовано
cookies.get('name');
Функция вернёт значение или undefined, если значение не задано.
Ну и удаление куков
cookies.delete('name');
Обратите внимание, что библиотека использует стандарт ES6 с классами. Не все старые браузеры такое поддерживают, но все современные работают отлично.