Установить COOKIE используя JavaScript

Author Автор: Роман Чернышов    Опубликовано: 9 февраля 2011

Работая с очередным проектом, мне пришлось прибегнуть к использованию cookie. Для запоминания сайтом, выбранного пользователем региона страны. Это было необходимо сделать для отсортировки информации относящейся только к заданному региону. По причине разного рода соображений, вариант с использованием PHP был исключен. И пришлось подключать JavaScript и уже дальше с помощью его устанавливать и считывать соответствующие кукисы.

Из множества предложенных вариантов, я остановился на универсальном решении, которое нашел на каком то форуме. Затем немного изменил его под свои нужды, в результате получились следующие две функции, корректно работающие во всех современных браузерах. В IE6, данное решение также работает замечательно.

function getCookie(name) { //  берет кукес
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return(setStr);
}
 
function set_cookie(name, value, expires) // устанавливает кукес
{
if (!expires)
{
expires = new Date();
}
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";
}

Удобство использования JavaScript еще заключается в том, что cookie можно установить без перезагрузки страницы, в отличии от решений на PHP.

Надеюсь данный пример пригодиться новичкам)). Кстати замечу, такой подход используется мною во многих моих проектах. Но учтите, что нужно подстраховываться, на случай если у пользователя в браузере будет отключен яваскрипт. Поэтому не стоит забывать, про резервный метод… Я о том же PHP…

1 Comment to “Установить COOKIE используя JavaScript”

  • Роман Чернышов 09.02.2011 в 8:43 пп

    пример использования:
    set_cookie(‘name’, ‘Иванов Сергей’);
    getCookie(‘name’);

Оставить комментарий на Роман Чернышов

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка