Хранение информации в файлах cookie

#javascript #cookies

#javascript #файлы cookie

Вопрос:

Кто-нибудь знает мощный класс для хранения информации в файлах cookie?

Я просто хочу написать что-то вроде:

 var cookieStorage = new cookieStorage(100); // 100 - time to store data

var apple = {size:10, color:'red',weight:100};

cookieStorage.set('MyApple',apple);

var restoredApple = cookieStorage.get('MyApple');
  

Моя реализация (без времени на хранение)

 var cookieStorage = {

    set: function (key, value) {

        $.cookie(key, $.toJSON(value));

    },

    get: function (key) {

        var json = $.cookie(key);

        return $.parseJSON(json);
    }

}
  

Вот плагин cookie

Ответ №1:

Для достижения этой цели вы можете использовать библиотеку JSON. Вы можете скачать JSON здесь: https://github.com/douglascrockford/JSON-js

Я создал для вас простой пример. Если вы хотите сделать это короче, вы можете использовать jQuery-cookie .

 function setCookie(){
    var current = new Array();
    var user = new Object();
    user.FirstName = "Robby";
    user.LastName = "Shaw";
    current.push(user);         //The test value

    var exdate=new Date();
    exdate.setDate(exdate.getDate() 5); //Expire in 5 days
    var cname = "test"; //cookie name
    var value = JSON.stringify(current); //Parse the array

    document.cookie=cname  "="  escape(value)  ";expires=" exdate.toGMTString();
}

function getCookie(){
    var current = new Array();
    if (document.cookie.length>0){
        c_start=document.cookie.indexOf("test=");
        if (c_start!=-1)
        { 
        c_start=c_start   c_name.length 1 
        c_end=document.cookie.indexOf(";",c_start)
        if (c_end==-1) c_end=document.cookie.length
        current = JSON.parse(unescape(document.cookie.substring(c_start,c_end)));
        alert(current[0].FirstName "," current[0].LastName);
        } 
    }   
}