coo = { cookies: function(){ return JSON.parse(http_client_save_cookies() ).cookies; }, get: function(domain, name){ //Если не указано имя то возвращает объект типа {name:value} if(typeof domain != 'string' || !domain) new Error('не указан домен для парсинга cookies') var values = {}; var cookies = this.cookies(); for(i = 0; i < cookies.length; i++){ var cookie = cookies[i]; if(cookie.domain == domain){ if(cookie.name == name || !name); values[cookie.name] = cookie.value; } }; if(name){ return values[name]; } else{ return values; } }, set: function(domain, name, value){ //принимет либо значения name и value, либо только name которое является объктом типа {name:value} if(typeof domain != 'string' || !domain) new Error('не указан домен для установки cookies') if(typeof name != 'string' && !value) new Error('не указано имя или значение для установки cookies') var cookies = this.cookies(); if(typeof name == 'string' && value){ var cookie = {} cookie[name] = value; } else { cookie = name; }; for(name in cookie){ var value = cookie[name]; var cookieDomain = cookies.filter(function(item){ return item.domain == domain && item.name == name; })[0]; if(!cookieDomain){ cookieDomain = {} cookies.push(cookieDomain) } cookieDomain.domain = domain; cookieDomain.name = name; cookieDomain.value = value.toString(); cookieDomain.httpOnly = false cookieDomain.secure = false; cookieDomain.expires = +(new Date(2100,1,1).getTime().toString().slice(0,10)) cookieDomain.path = '/' }; http_client_restore_cookies(JSON.stringify({cookies: cookies})) }, clear: function(domain, name){ // name необязательно, без него удалит все куки для домена var cookies = this.cookies(); cookies = cookies.filter(function(item){ if(item.domain == domain){ if(item.name == name || !name){ return false } } return true; }) http_client_restore_cookies(JSON.stringify({cookies: cookies})) } };