Stores and loads a Hash as a Cookie using JSON format.
Extends
Syntax
var myHashCookie = new Hash.Cookie(name[, options]);
Arguments
- name - (string) The key (name) for the cookie
- options - (object) All of Cookie options in addition an autoSave option.
Options
- 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
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
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.