Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.04.2015, 14:54
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

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;
    }

Последний раз редактировалось soltx, 07.04.2015 в 15:25.
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2015, 19:34
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

если вынести из условия
setCookie("test", "true", 30)
то всё работает, но задача состоит в том что бы проверить есть ли cookie? если нет то выполнить команду и записать cookie
------------------------------------------------------------------------------------
С плагином jquery получилось, но как то не хочется подгружать библиотеку и плагин
Ответить с цитированием
  #3 (permalink)  
Старый 09.04.2015, 09:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от soltx
Не могу понять причины почему код не работает? не записывает cookie если не нашел нужное имя
Просто потестируй свой код. Что тут не понятного? Проверь его пошагово и многое прояснится...
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2015, 23:57
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

Сообщение от ksa Посмотреть сообщение
Просто потестируй свой код. Что тут не понятного? Проверь его пошагово и многое прояснится...
Да увидел, перебор с условием не могу реализовать, запутался (
пока реализовал так:
function checkCookies(obj, name) {
            if (obj.hasOwnProperty(name)) {
                console.log('Есть cookie, ' +name+ ' ничего не делаем');
            }else{
                console.log('Нет cookie, ' +name+ ' сейчас запишем');
                setCookie("test", "true", 30);
            }
}


всё работает и вполне устраивает, но хотелось бы увидеть как реализовать при помощи цикла

Последний раз редактировалось soltx, 11.04.2015 в 12:41.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли заставить ajax не отправлять cookies ? mitiya Общие вопросы Javascript 3 18.11.2012 16:57
Размер cookies в IE9 или альтернатива cookies? JDev Общие вопросы Javascript 23 07.08.2012 18:03
проверка отсутствия всех cookies legrol Общие вопросы Javascript 0 30.03.2012 11:38
Javascript PHP и Cookies проблемы с кодировкой cristalith Серверные языки и технологии 6 31.10.2009 11:12
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37