Archived     (close)   (home)
GalaSoft Laurent Bugnion This page is not maintained anymore, and has been archived. The information on this page must be taken with care, because it might not be valid anymore.
For more information, see this page or contact me
With the compliments of

Visit GalaSoft

Back to JavaScript Consulting index
Cookie functions

Those functions are inspired by those found at Cookie Central.

Click here to download the zipped file cookie.js containing the functions.









Form, and its functions: <SCRIPT LANGUAGE="JavaScript" SRC="cookie.js"></SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- // setting the expiry date for this cookie // valid one day var expDate = new Date(); expDate.setTime( expDate.getTime() + ( 24 * 60 * 60 * 1000 ) ); //--> </SCRIPT> <FORM NAME="myForm"> <INPUT TYPE="button" VALUE="check if cookies are on" ONCLICK="alert( 'Cookie are ' + ( testCookie() ? 'on' : 'off' ) );"> <BR><BR> <INPUT TYPE="button" VALUE="check value of cookie 'Hello'" ONCLICK="alert( 'Value of cookie \'Hello\' = ' + getCookie( 'Hello' ) );"> <BR><BR> <INPUT TYPE="button" VALUE="set value of cookie 'Hello'" ONCLICK="setCookie('Hello','World', expDate, cookiePath );"> <BR><BR> <INPUT TYPE="button" VALUE="delete cookie 'Hello'" ONCLICK="deleteCookie('Hello');"> <BR><BR> <INPUT TYPE="button" VALUE="check whole cookie string" ONCLICK="alert(document.cookie);"> </FORM>
Cookie functions (defined in file cookie.js): <SCRIPT LANGUAGE="JavaScript"> <!-- /* Script by GalaSoft Laurent Bugnion */ /* 27.01.2001 */ /* www.galasoft.ch */ var cookiePath = '/'; // Cookie functions --------------------------------------------------------- // Thanx a lot to Jerry Aman, Optima System // and Bill Dortch, hIdaho Design for the free use of their code. // Found on http://www.cookiecentral.com/js_cookie8.htm //--------------------------------------------------------------------------- // Utility function to get the cookie's value function getCookieVal( offset ) { var endstr = document.cookie.indexOf ( ";", offset ); if ( endstr == -1 ) { endstr = document.cookie.length; } return unescape( document.cookie.substring( offset, endstr ) ); } //--------------------------------------------------------------------------- // Returns the value of a cookie corresponding to the name // Returns null if the cookie can't be found function getCookie( name ) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while ( i < clen ) { var j = i + alen; if ( document.cookie.substring( i, j ) == arg ) { return getCookieVal ( j ); } i = document.cookie.indexOf( " ", i ) + 1; if ( i == 0 ) { break; } } return null; } //--------------------------------------------------------------------------- // Sets a cookie according to the name and value. // Optional parameters: // - expires (Date object) // - path (use cookiePath for the whole domain) // - domain // - secure // For more information about those parameter, check www.cookiecentral.com function setCookie( name, value ) { var argv = setCookie.arguments; var argc = setCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ( ( expires == null ) ? "" : ( "; expires=" + expires.toGMTString() ) ) + ( ( path == null ) ? "" : ( "; path=" + path ) ) + ( ( domain == null ) ? "" : ( "; domain=" + domain ) ) + ( ( secure == true ) ? "; secure" : "" ); } function deleteCookie ( name ) { var exp = new Date(); exp.setTime ( exp.getTime() - 1 ); // This cookie is history setCookie( name, "", exp, cookiePath ); } //--------------------------------------------------------------------------- // Tests if cookies are enabled. function testCookie() { var expDate = new Date(); //valid one minute expDate.setTime( expDate.getTime() + ( 60 * 1000 ) ); setCookie( "testCookie", "OK", expDate ); testing = getCookie( "testCookie" ); if ( testing == "OK" ) { return true; } else { return false; } } //--> </SCRIPT>