Class: Hash.Cookie

JSON形式を利用して、ハッシュをクッキーとして保存・読み取りできます。

継承:

構文:

var myHashCookie = new Hash.Cookie(name[, options]);

引数:

  1. name - (文字列) クッキーのキー(名前)。
  2. options - (オブジェクト) すべてのCookieオプションに加え、autoSaveオプションを指定できます。

オプション:

  1. autoSave - (真偽値: 初期値=true) すべての操作時にクッキーを保存するかを決めるオプション。

戻り値:

  • (オブジェクト) 新しいHash.Cookieインスタンス。

例:

var fruits = new Hash.Cookie('myCookieName', {duration: 3600});
fruits.extend({

    'lemon': 'yellow',
    'apple': 'red'
});
fruits.set('melon', 'green');
fruits.get('lemon'); // yellow

// ... 別のページにて。 ... 値が自動的に読み込まれます。

var fruits = new Hash.Cookie('myCookieName', {duration: 365});
fruits.get('melon'); // green

fruits.erase(); // クッキー削除

注意点:

  • Hash.Cookieインスタンスでは、すべてのHashメソッドを使うことができます。もしautoSaveオプションがセットされていれば、すべてのメソッドは保存されたクッキーの中に出力されます。
  • クッキーには4kb(4096バイト)という制限があります。したがって、Hashのサイズには充分に注意してください。
  • Hash.Cookieで行われたすべてのHashメソッドは、Cookieのサイズを超えない限り、Hashメソッドの戻り値を保存します。超えてしまった場合は、falseを返します。
  • 大きいサイズのクッキーを使う予定があるならば、autoSaveをオフにすることを検討してください。そして、save()のステータスに都度留意するようにしてください。
  • 新しいインスタンスを生成すると、自動的にクッキーからデータを読み取ってHashに変換します。フーッ、クールでしょう?

参考情報:

Hash.Cookieメソッド: save

クッキーにハッシュを保存します。ハッシュが空ならば、クッキーを削除します。

構文:

myHashCookie.save();

戻り値:

  • (真偽値) JSON文字列が長すぎる(4kb以上)場合は、falseを返します。それ以外はtrueです。

例:

var login = new Hash.Cookie('userstatus', {autoSave: false});

login.extend({
    'username': 'John',
    'credentials': [4, 7, 9]

});
login.set('last_message', 'User logged in!');

login.save(); // 最後にHashを保存。

Hash.Cookieメソッド: load

クッキーを読み取り、Hashに変換します。

構文:

myHashCookie.load();

戻り値:

  • (オブジェクト) このHash.Cookieインスタンス。

例:

var myHashCookie = new Hash.Cookie('myCookie');

(function(){
    myHashCookie.load();
    if(!myHashCookie.length) alert('Cookie Monster must of eaten it!');

}).periodical(5000);

注意点:

  • 投票などに役立ちます。

このドキュメントはMooToolsのドキュメントを元に高橋文樹が翻訳(ちょっと改変)しました。
本家と同じく、Attribution-NonCommercial-ShareAlike 3.0ライセンスで公表されています。

トップに戻る