Как известно куки храняться на устройстве пользователя. И передаются на сервер через HTTP заголовки. Поэтому работают с ними в основном на стороне сервера. Но иногда более уместно обратиться к кукам на стороне клиента. И чтобы не нагружать JavaScript отправкой запросов на сервер, можно использовать плагин jQuery, который предоставит возможность получать, добавлять и удалять куки без всяких обращений к серверной части. В этой статье я предлагаю расмотреть принцип работы этого плагина.

Сначала давайте подключим библиотеку jQuery и файл с плагином (можно скачать на официальном сайте или на GitHub):

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="/jquery.cookie.js"></script>

После этого мы можем работать с куками через плагин. Ниже приведены примеры.

Создание куки:

$.cookie('cookie_name', 'cookie_value');

С указанием срока хранения (в днях):

$.cookie('cookie_name', 'cookie_value', {expires: 365});

С указанием срока хранения и определенного урла сайта, с которого будет доступна:

$.cookie('cookie_name', 'cookie_value', {expires: 365, path: '/'});

При path: '/' кука будет доступна для всего сайта.

С указанием срока хранения и домена, для которого будет доступна:

$.cookie('cookie_name', 'cookie_value', {expires: 365, domain: 'site.ru'});

С указанием срока хранения и доступностью только для протокола https:

$.cookie('cookie_name', 'cookie_value', {expires: 365, secure: true});

Получение куки:

var cookie = $.cookie('cookie_name'); // cookie_value

Всё что есть:

$.cookie(); // {"cookie_name1": "cookie_value1", "cookie_name2": "cookie_value2"}

Удаление куки

$.removeCookie('cookie_name'); // true

Важно! Если при создании куки был задан путь (path), то при при удалении его также нужно указать. Например:

$.cookie('cookie_name', 'cookie_value', {path: '/order/'});
$.removeCookie('cookie_name'); // false
$.removeCookie('cookie_name', {path: '/order/'}); // true

Как видно из примеров, jQuery плагин намного упрощает работу с куками в JavaScript. А то, что куки очень удобны для идентификации пользователя и хранения разной информации, делает его хорошим инструментом для решения названных задач.