jquery.cookie.jsでcookieにオブジェクトを保存

javascriptcookieに値を保存する場合はJQueryjquery.cookie.jsを使うと便利です。

https://github.com/carhartl/jquery-cookie

// cookieを保存
$.cookie('the_cookie', 'the_value');

// cookieを取り出し
$.cookie('the_cookie');

// 有効期限を指定してcookieを保存
$.cookie('the_cookie', 'the_value', { expires: 7 });

// 有効期限とパスを指定
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

// 削除
$.cookie('the_cookie', null);


cookieにはオブジェクトをそのまま保存することはできません

var obj = {'a': 1, 'b': 2};
$.cookie('the_cookie', obj);
$.cookie('the_cookie'); #=> null


JSON.stringifyで文字列に変換して保存すればいいんじゃないかと思います

$.cookie('the_cookie', JSON.stringify(obj));
$.cookie('the_cookie'); # => "{"a":1,"b":2}"

//Objectに戻す
JSON.parse($.cookie('the_cookie'));


IE7以下ではJSONオブジェクトが使えないですが、json2.jsを使えばいいかと。

https://github.com/douglascrockford/JSON-js

<!--[if lt IE 8]>
    <script src="/path/to/json2.js"></script>
<![endif]-->