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