JQuery extendedjsoncookie

Overview

This JQuery plugin is a improvement of original JQueryCookie plugin (http://plugins.jquery.com/project/cookie).

Requirements:

Features:

Download

You can download the javascript file.

Complete example

In the example below, you will find an example for recording if the user as already clicked on ("hide"). User choice will be recorded as a variable in the cookie.

How to use ?

You will see that the parameter Hide or Show was saved in cookie To see this plugin in action, i recommend you Firefox / Firebug to consult cookie value from my website.

Normal Test Cases

TestUnit01

Set Values from non existing cookie

 jQuery.extendedjsoncookie( "removeCookie","TestUnit01");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit01", "var1", "value1");
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit01") );

TestUnit02

Normal case one, writing variables

 jQuery.extendedjsoncookie( "removeCookie","TestUnit02");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit02", "var1", "value1");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit02", "var2", "value2");
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit02") ); 

TestUnit03

Normal case, writing variables and set expiry in days + NO secure cookie getCookieValue should return cookie value in all cases

 jQuery.extendedjsoncookie( "removeCookie","TestUnit03");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit03", "var3", "value3");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit03", "var4", "value4");
 jQuery.extendedjsoncookie( "setExtendedAttributes","TestUnit03", { expires: 7, secure: false } ); 
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit03") ); 

TestUnit04

Playing with arrays !

 jQuery.extendedjsoncookie( "removeCookie","TestUnit04");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit04", "var5", "value5");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit04", "var6", "value6");

 var myPets = new Array( "cats", "dogs", "pigs" );
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit04", "myPets", myPets );
 
 alert( jQuery.extendedjsoncookie( "getCookieVariable","TestUnit04", "myPets") );
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit04") ); 

Anormal Test Cases (for testing plugin robustness)

TestUnit05

Get Values from non existing cookie

 jQuery.extendedjsoncookie( "removeCookie","TestUnit05" );
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit05") );
 alert( jQuery.extendedjsoncookie( "getCookieVariable", "TestUnit05", "var3") );

TestUnit06

Get Values from empty cookie

 jQuery.extendedjsoncookie( "writeEmptyCookie","TestUnit06");
 alert( jQuery.extendedjsoncookie( "getFullCookie","TestUnit06") );
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit06") );
 alert( jQuery.extendedjsoncookie( "getCookieVariable","TestUnit06", "var3") );

TestUnit07

Get a undefined variable with an existing empty cookie

 jQuery.extendedjsoncookie( "removeCookie","TestUnit07");
 jQuery.extendedjsoncookie( "writeEmptyCookie","TestUnit07");
 alert( jQuery.extendedjsoncookie( "getCookieVariable","TestUnit07", "var4") );

TestUnit08

Get a undefined variable with an existing cookie

 jQuery.extendedjsoncookie( "removeCookie","TestUnit08");
 jQuery.extendedjsoncookie( "writeEmptyCookie","TestUnit08");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit08", "var2", "888");
 alert( jQuery.extendedjsoncookie( "getCookieVariable","TestUnit08", "var4") );

TestUnit09

Normal case one, writing variables and set expiry in days

 jQuery.extendedjsoncookie( "removeCookie","TestUnit09");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit09", "var3", "value3");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit09", "var4", "value4");
 jQuery.extendedjsoncookie( "setExtendedAttributes","TestUnit09", { expires: 7 } );  
 alert( jQuery.extendedjsoncookie( "getCookieVariable","TestUnit09", "var4") );
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit09") );

TestUnit10

Normal case, writing variables and set expiry in days + secure cookie getCookieValue should return "undefined" if your are in HTTP and should return cookie value if you are in HTTPS See http://en.wikipedia.org/wiki/HTTP_cookie for explanations

 jQuery.extendedjsoncookie( "removeCookie","TestUnit10");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit10", "var3", "value3");
 jQuery.extendedjsoncookie( "setCookieVariable","TestUnit10", "var4", "value4");
 jQuery.extendedjsoncookie( "setExtendedAttributes","TestUnit10", { expires: 14, secure: true } ); 
 alert( jQuery.extendedjsoncookie( "getCookieValueDecoded","TestUnit10") ); 

© 2010 Rodolphe Franceschi or here