Как сохранить несколько значений в куки, используя JavaScript? - PullRequest
0 голосов
/ 25 января 2012

Я создал динамический список (т. Е. Тег a внутри тега li), используя jQuery. Когда я нажимаю на ссылку в списке в первый раз, она сохраняет это значение индекса в куки (используя javascript). При следующем запуске приложения в onload оно извлекает значение индекса из файла cookie и отображает эту ссылку другим цветом.

Как я могу хранить несколько значений в одном и том же файле cookie? Как я могу сохранить предыдущие значения всегда в getcookie() и setcookie()?

function link()
{
    $(".sidemenu li ").click(function() {        
        var index = $('li').index(this); 
        checkCookie(index);
    });
}   

function checkCookie(index)
{
    var linkindexvalue=index;

    setCookie("indexvalue",linkindexvalue,365);
}

function setCookie(c_name,value,exdays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + value;
    alert(document.cookie);
}

$(document).ready(function(){

    var username=getCookie("indexvalue");
    $(".sidemenu li:eq("+username+")").css({ 'background' : 'yellow' });
    alert(username);
});

function getCookie(c_name)
{
    alert("hj");
    var i,x,y,ARRcookies=document.cookie.split(";");
    for (i=0;i<ARRcookies.length;i++)
    {
        x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
        y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
        x=x.replace(/^\s+|\s+$/g,"");
        if (x==c_name)
        {
            return unescape(y);
        }
    }
}

Пожалуйста, ведите меня.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 января 2012

Если вам не нужна поддержка IE <8, вам, вероятно, следует использовать <a href="https://developer.mozilla.org/en/DOM/Storage#localStorage" rel="nofollow">localStorage вместо файлов cookie. На самом деле, есть такие библиотеки, как store.js , которые позволяют забыть о таких несоответствиях браузера (используется лучшая доступная технология).

Если вы действительно должны использовать куки, тем не менее, не изобретайте свой собственный формат сериализации! JSON работает просто отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...