jQuery можно использовать для управления файлами cookie браузера, и эта небольшая демонстрация показывает, как создавать, получать доступ и удалять файлы cookie с помощью плагина jQuery, разработанного Клаусом Хартлом по лицензии GLP.
jquery.cookie.js
/ **
* Cookie-плагин
*
* Copyright (c) 2006 Клаус Хартл (stilbuero.de)
* Двойная лицензия по лицензиям MIT и GPL:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* /
/ **
* Создайте куки с заданным именем и значением и другими необязательными параметрами.
*
* @example $ .cookie ('the_cookie', 'the_value');
* @desc Установить значение файла cookie.
* @example $ .cookie ('the_cookie', 'the_value', {expires: 7, путь: '/', домен: 'jquery.com', secure: true});
* @desc Создайте куки со всеми доступными опциями.
* @example $ .cookie ('the_cookie', 'the_value');
* @desc Создать сессионный cookie.
* @example $ .cookie ('the_cookie', null);
* @desc Удалить cookie, передав значение null в качестве значения. Имейте в виду, что вы должны использовать один и тот же путь и домен
* используется, когда был установлен cookie.
*
* @param String name Имя файла cookie.
* @param String value Значение файла cookie.
* @param Object options Объектный литерал, содержащий пары ключ / значение для предоставления необязательных атрибутов cookie.
* @option Number | Date expires Либо целое число, указывающее дату окончания срока действия в днях, либо объект Date.
* Если указано отрицательное значение (например, дата в прошлом), файл cookie будет удален.
* Если установлено значение null или опущено, cookie будет сессионным cookie и не будет сохранен
* при выходе из браузера.
* @option String path Значение атрибута пути файла cookie (по умолчанию: путь к странице, на которой создан файл cookie).
* @option String domain Значение атрибута домена файла cookie (по умолчанию: домен страницы, создавшей файл cookie).
* @option Boolean secure Если установлено значение true, атрибут безопасности cookie будет установлен, и передача cookie будет
* требуется безопасный протокол (например, HTTPS).
* @type undefined
*
* @name $ .cookie
* @cat Плагины / Cookie
* @author Клаус Хартл/[email protected]
* /
/ **
* Получить значение куки с указанным именем.
*
* @example $ .cookie ('the_cookie');
* @desc Получить значение куки.
*
* @param String name Имя файла cookie.
* @return Значение куки.
* @type String
*
* @name $ .cookie
* @cat Плагины / Cookie
* @author Клаус Хартл/[email protected]
* /
jQuery.cookie = функция (имя, значение, параметры) {
if (typeof value! = 'undefined') {// указаны имя и значение, установить cookie
опции = опции || {};
if (value === null) {
значение = »;
options.expires = -1;
}
var expires = ”;
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
дата вар;
if (typeof options.expires == 'number') {
дата = новая дата ();
date.setTime (date.getTime () + (options.expires * 24 * 60 * 60 * 1000));
} еще {
date = options.expires;
}
истекает = '; expires = '+ date.toUTCString (); // использовать атрибут expires, максимальный возраст не поддерживается IE
}
// ВНИМАНИЕ: необходимо заключить в скобки options.path и options.domain
// в следующих выражениях, иначе они оцениваются как неопределенные
// в упакованной версии по какой-то причине ...
var path = options.path? «; путь = '+ (options.path): ”;
var domain = options.domain? «; домен = '+ (options.domain): ”;
var secure = options.secure? «; безопасный ': ”;
document.cookie = [имя, '=', encodeURIComponent (значение), срок действия, путь, домен, безопасный] .join (”);
} else {// только имя дано, получите cookie
var cookieValue = null;
if (document.cookie && document.cookie! = ”) {
var cookies = document.cookie.split (';');
for (var i = 0; i <cookies.length; i ++) {var cookie = jQuery.trim (cookies [i]); // Эта строка cookie начинается с имени, которое мы хотим? if (cookie.substring (0, name.length + 1) == (name + '=')) {cookieValue = decodeURIComponent (cookie.substring (name.length + 1)); перемена; }}} return cookieValue; }}; [/ JS]