Установить 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, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

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