YUI 3.x Home -

YUI Library Examples: Cookie: Subcookie Example

Cookie: Subcookie Example

This example shows how to get and set subcookies as well as using conversion functions when retrieving subcookie values.

Subcookie Example

The first three lines attempt to read the values stored in subcookies of the "example" cookie:

  1. var name = Y.Cookie.getSub("example", "name");
  2. var today = Y.Cookie.getSub("example", "today", function(value){
  3. return new Date(value);
  4. });
  5. var count = Y.Cookie.getSub("example", "count", Number);
var name = Y.Cookie.getSub("example", "name");
var today = Y.Cookie.getSub("example", "today", function(value){
    return new Date(value);
});
var count = Y.Cookie.getSub("example", "count", Number);

The "name" subcookie stores a string so it is retrieved without specifying a third argument. The "today" subcookie stores a date string, which should be converted to a Date object upon retrieval; the third argument of getSub() is specified as a custom function that will convert the returned value into a Date object. The "count" subcookie contains a number and is converted to an actual JavaScript number by passing in the native Number function. If any of these subcookies don't exist, getSub() returns null (this should be the case the first time you run the example). The retrieved values are output in the logger.

After that, new values are assigned to the various subcookies:

  1. Y.Cookie.setSub("example", "name", "Yahoo!");
  2. Y.Cookie.setSub("example", "today", (new Date()).toString());
  3. Y.Cookie.setSub("example", "count", Math.round(Math.random() * 30));
Y.Cookie.setSub("example", "name", "Yahoo!");
Y.Cookie.setSub("example", "today", (new Date()).toString());
Y.Cookie.setSub("example", "count", Math.round(Math.random() * 30));

The "name" subcookie is set to "Yahoo!", the "today" subcookie is set to the value of a new Date object, outputting its string representation, and the "count" subcookie is filled with a random number. The next time you run the example, the subcookies should have these values.

Copyright © 2009 Yahoo! Inc. All rights reserved.

Privacy Policy - Terms of Service - Copyright Policy - Job Openings