jquery.cookie.jsでcookieにオブジェクトを保存
javascriptでcookieに値を保存する場合はJQueryとjquery.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]-->