Cookies проблемы
Привет! Не могу понять причины почему код не работает? не записывает cookie если не нашел нужное имя
function getCookies() { var cookies = {}; var all = document.cookie; if (all === "") return cookies; var list = all.split("; "); for(var i = 0; i < list.length; i++) { var cookie = list[i]; var p = cookie.indexOf("="); var name = cookie.substring(0,p); var value = cookie.substring(p+1); value = decodeURIComponent(value); cookies[name] = value; } return cookies; } var obj = getCookies(); function checkCookies(obj, name){ for ( var key in obj ) { if(key === name) { console.log(true); }else{ console.log(false); setCookie("test", "true", 30); } } } checkCookies(obj, "test"); function setCookie(name, value, daysToLive) { var cookie = name + "=" + encodeURIComponent(value); if (typeof daysToLive === "number") cookie += "; max-age=" + (daysToLive*60*60*24); document.cookie = cookie; } |
если вынести из условия
setCookie("test", "true", 30)то всё работает, но задача состоит в том что бы проверить есть ли cookie? если нет то выполнить команду и записать cookie ------------------------------------------------------------------------------------ С плагином jquery получилось, но как то не хочется подгружать библиотеку и плагин |
Цитата:
|
Цитата:
пока реализовал так: function checkCookies(obj, name) { if (obj.hasOwnProperty(name)) { console.log('Есть cookie, ' +name+ ' ничего не делаем'); }else{ console.log('Нет cookie, ' +name+ ' сейчас запишем'); setCookie("test", "true", 30); } } всё работает и вполне устраивает, но хотелось бы увидеть как реализовать при помощи цикла |
Часовой пояс GMT +3, время: 21:17. |