Файлы cookie являются наиболее используемой технологией для хранения данных на стороне клиента. В моей предыдущей статье « Как работать с файлами cookie в JavaScript» объяснялось, как выполнять операции CRUD с файлами cookie с использованием необработанного JavaScript. Эта статья обращается к jQuery и поможет вам использовать плагин jquery.cookie , который упрощает обработку файлов cookie.
В этой статье предполагается, что читатель знаком с содержимым из ранее процитированного сообщения или, по крайней мере, имеет базовые знания о файлах cookie. С этим сказал — давайте начнем.
Установка jquery.cookie
Первое, что вам нужно сделать, это скачать jquery.cookie из своего репозитория на GitHub . Если у вас есть файл jquery.cookie.js
Имейте в виду, что, будучи плагином jQuery, вы должны включить его после библиотеки jQuery. На ваших страницах должен быть фрагмент кода, похожий на следующий:
<head>
<script src="path/to/jquery.js"></script>
<script src="path/to/jquery.cookie.js"></script>
</head>
Методы
Для создания и получения cookie-файла jquery.cookie использует один и тот же метод cookie()
Чтобы создать cookie, вам нужно передать два обязательных параметра, имя и значение cookie, соответственно. Вы можете передать третий необязательный параметр, который является литералом объекта, содержащим некоторые дополнительные параметры. Этими параметрами являются path
domain
expires
secure
Стоит отметить, что эти параметры можно установить локально, когда вы вызываете метод cookie()
$.cookie.defaults
Параметры, установленные с использованием первого, имеют приоритет над параметрами, установленными с использованием второго. Чтобы увидеть, как создаются куки, давайте рассмотрим несколько примеров.
В следующем примере отслеживается количество посещений сайта пользователем:
$.cookie("visits", 10);
В этом примере хранится любимый город пользователя, а также указывается домен и путь, по которому cookie может быть прочитан и записан:
$.cookie("favourite-city", "London", {path: "/", domain: "jspro.com"});
В этом примере хранится имя пользователя. Срок действия этого файла cookie истекает 29 октября 2013 года в 11 часов и может быть отправлен только через безопасное соединение.
$.cookie("name", "Aurelio", {expires: new Date(2013, 10, 29, 11, 00, 00), secure: true});
Получение куки
Извлечь печенье очень легко. Вы просто передаете один параметр, имя куки, чтобы получить его, как показано в следующих примерах:
Чтобы узнать количество посещений сайта пользователем:
console.debug($.cookie("visits")); // print "10"
Чтобы получить любимый город пользователя:
console.debug($.cookie("favourite-city")); // print "London"
Чтобы получить имя пользователя:
console.debug($.cookie("name")); // print "Aurelio"
Удалить куки
Теперь вы знаете, как создать и получить cookie. Последнее, что вам нужно знать, это как удалить cookie, используя метод removeCookie()
Он возвращает true
false
Имейте в виду, что когда вы хотите удалить куки, вам нужно передать те же параметры, такие как path
domain
Теперь давайте посмотрим пару примеров метода removeCookie()
Чтобы удалить cookie, сохраняющие посещения сайта:
$.removeCookie("visits"); // successfully deleted
Чтобы удалить cookie, хранящий любимый город пользователя:
$.removeCookie("favourite-city", {path: "/", domain: "jspro.com"}); // successfully deleted
Далее мы пытаемся удалить cookie, хранящий имя пользователя. В этом примере происходит сбой, поскольку secure
$.cookie("name"); // fails because the secure value is missing
Выводы
В этой статье показано, как управлять файлами cookie с помощью jquery.cookie, плагина jQuery. Он решает многие проблемы, абстрагируя детали реализации cookie в несколько простых, гибких методов. Если вам нужны дополнительные разъяснения или дополнительные примеры, пожалуйста, обратитесь к официальной документации .
И если вам понравилось читать этот пост, вы полюбите Learnable ; место, чтобы узнать новые навыки и приемы у мастеров. Участники получают мгновенный доступ ко всем электронным книгам и интерактивным онлайн-курсам SitePoint, таким как jQuery: от новичка до ниндзя: новые уловки и хитрости .
Комментарии к этой статье закрыты. У вас есть вопрос о jQuery? Почему бы не спросить об этом на наших форумах ?