Class: Hash.Cookie

Stores and loads a Hash as a Cookie using JSON format.

Extends

Syntax

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

Arguments

  1. name - (string) The key (name) for the cookie
  2. options - (object) All of Cookie options in addition an autoSave option.

Options

  1. autoSave - (boolean: defaults to true) An option to save the cookie at every operation.

Returns

  • (object) A new Hash.Cookie instance.

Examples

var fruits = new Hash.Cookie('myCookieName', {duration: 3600});
fruits.extend({
    'lemon': 'yellow',
    'apple': 'red'
});
fruits.set('melon', 'green');
fruits.get('lemon'); // yellow
 
// ... on another page ... values load automatically
 
var fruits = new Hash.Cookie('myCookieName', {duration: 365});
fruits.get('melon'); // green
 
fruits.erase(); // delete cookie

Notes

  • All Hash methods are available in your Hash.Cookie instance. if autoSave options is set, every method call will result in your Cookie being saved.
  • Cookies have a limit of 4kb (4096 bytes). Therefore, be careful with your Hash size.
  • All Hash methods used on Hash.Cookie return the return value of the Hash method, unless you exceeded the Cookie size limit. In that case the result will be false.
  • If you plan to use large Cookies consider turning autoSave to off, and check the status of .save() everytime.
  • Creating a new instance automatically loads the data from the Cookie into the Hash. Cool Huh?

See Also

Hash.Cookie Method: save

Saves the Hash to the cookie. If the hash is empty, removes the cookie.

Syntax

myHashCookie.save();

Returns

  • (boolean) Returns false when the JSON string cookie is too long (4kb), otherwise true.

Examples

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(); // finally save the Hash

Hash.Cookie Method: load

Loads the cookie and assigns it to the Hash.

Syntax

myHashCookie.load();

Returns

  • (object) This Hash.Cookie instance.

Examples

var myHashCookie = new Hash.Cookie('myCookie');
 
(function(){
    myHashCookie.load();
    if (!myHashCookie.getLength()) alert('Cookie Monster must of eaten it!');
}).periodical(5000);

Notes

  • Useful when polling.

This documentation is released under a Attribution-NonCommercial-ShareAlike 3.0 License.