Attribut Domäne. Angegeben im Format domain = равно .codeguru.ru, установленные cookie будут отсылаться серверу при запросе документов с сайтов, расположенных на доменах web.codeguru.ru, forum.codeguru.ru, и.т.д. При этом дополнительным условием отсылки cookie будет являться проверка значения атрибута path — см. далее. Attribut domain весьма полезен. Он может использоваться, например, для организации единой системы аутентификации пользователя для различных web-сервисов, расположенных на различных поддоменах. Например, на основном сайте и на форуме сайта. Во избежание неконтролируемой отсылки cookie, значение sollte nicht nur den Namen der Zone (zB. com,. net.ru, etc.).
Attribut Pfad. Angegeben in das Format path =. Definiert eine Gruppe von URL, die wirklich das Cookie setzt. Zum Beispiel, wenn
Attribut zu sichern.
Attribut HttpOnly.
Ferner sind die interessantesten: Parsing-Plugin, um mit Cookies.
jQuery.cookie=function(){ var url = location.href;// путь для устанавливаемых кук this.cookieID="cookie";// имя для переменной, которая будет содержать наши куки this.set=function(options){// Функция для установки кук var cookieContent ='';// инициализируем переменную для цикла for var filterProperties ={"cookieID":0,"set":1,"get":2};// создаем объект с известными значениями options = options ||{};// если переданы пользовательские переменные, используем их. По умолчанию ничего не устанавливаем for(var property inthis){// перебираем все элементы полученного объекта if(!(property in filterProperties)){// вытягиваем все элементы кроме тех, которые содержатся в filterProperties if(this[property]===null)this[property]='';// если имеем ноль заменяем на '' cookieContent +=(property)+':'+(this[property])+',';// записываем имя переменной + значение переменной } } cookieContent = cookieContent.substring(0,cookieContent.length-1);// удаляем последнюю запятую var expires ='';// инициализируем переменную if(options.expires&&(typeof options.expires=='number'|| options.expires.toUTCString)){// если у нас есть какое ли значение то var date;// создаем переменную для даты if(typeof options.expires=='number'){// если это число date =new Date();// текущую дату date.setTime(date.getTime()+(options.expires*24*60*60*1000));// устанавливаем время }else{ date = options.expires;// пустое значение; куки будут храниться до конца сессии } expires='; expires='+ date.toUTCString();// устанавливаем время жизни кук } var path = options.path?'; path='+(options.path):'';// устанавливаем url для которых действительны устанавливаемые куки var domain = options.domain?'; domain='+(options.domain):'';// устанавливаем мия сайта var secure = options.secure?'; secure':'';// указываем, следует ли шифровать данные или нет document.cookie=[this.cookieID,'=',encodeURIComponent(cookieContent), expires, path, domain, secure].join('');// делаем из массива строку и записываем ее в куки returntrue; }; this.get=function(){// функция для получения кук var cookieValue =''; if(document.cookie&& document.cookie!=''){// если куки доступны и существуют var cookies = document.cookie.split(';');// разбили и получили массив for(var i =0; i < cookies.length; i++){// выполняем перебор массива var cookie = jQuery.trim(cookies[i]);// обрезали все отступы if(cookie.substring(0,this.cookieID.length+1)==(this.cookieID+'=')){// находим слово cookie cookieValue = decodeURIComponent(cookie.substring(this.cookieID.length+1));// выдернули все значения break; } } var properties = cookieValue.split(',');// разбили все значения по , в массив for(var i =0; i<properties.length;i++){// перебрали массив var property = properties[i].split(':');// разбили каждый элемент и this[property[0]]= property[1];// добавили свойства к объектам } } returntrue; }; returnthis; };
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head> <metahttp-equiv="Content-Type"content="text/html; charset=windows-1251"/> <scriptsrc="http://www.ageent.ru/templates/ageent/script/jquery-1.3.2.min.js"type="text/javascript"></script> <scriptsrc="http://www.ageent.ru/templates/ageent/script/jquery.cookie.js"type="text/javascript"></script> <script> $(document).ready(function(){ var c = new $.cookie(); // создаем объект для работы с куками // блок для записи кук $("button:eq(0)").click(function () { c.text = prompt("Введем значение для text"); c.set({ expires: 300, path: '/'}); }); // блок для удаления кук $("button:eq(1)").click(function () { c.text=""; c.set({ expires: -300, path: '/'}); }); //блок который показывает содержимое всех кук $("button:eq(2)").toggle( function () { $(".too").html(document.cookie); $(this).html("Спрятать куки"); }, function () { $(".too").html(""); $(this).html("Как выглядят куки в реале"); } ); //блок который показывает что мы записали в куки $("div").live("mousemove", function(){ c.get(); // получаем куки if((typeof(c.text) != 'undefined' )) { $(".one").html("Мы записали в куки: <b>text: "+c.text+"</b>"); } if((c.text == "")) { $(".one").html(""); } }); }); </script> </head> <body> <divclass="main"> <button>Записать значение в куки</button> <button>Очистить куки</button> <button>Как выглядят куки в реале</button> <divclass="one"></div> <divclass="too"></div> </div> </body> </html>