Home Expertise Tools Javascript
  JavaScript - Cookies...         Last updated 01-31-2003...
 
  Cookie management functions (setting, getting, and deleting)

    /////////////////////////////////////////////
    // Function to create or update a cookie
    //    name
    //        String object containing the cookie.
    //    value
    //        String object containing the cookie value.
    //    [expires]
    //        Date object containing the expiration date of the cookie. If omitted or null,
    //        expires the cookie at the end of the session.
    //    [path]
    //        String object indicating the path of the calling document. If omitted or null,
    //        uses the path of the calling document.
    //    [domain]
    //        String object indicating the domain for which the cookie is valid. If omitted
    //        or null, uses the domain of the calling document.
    //    [secure]
    //        Boolean (true|false) value indicating whether cookie transmission requires a
    //        secure channel (HTTPS).
    //
    // The first two parameters are required. The others, if supplied, must be
    // passed in the order listed above. To omit an unused optional field, use null
    // as a place holder. Trailing omitted parameters do not require a placeholder.
    /////////////////////////////////////////////
    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 to return the decoded value of a cookie specified by its offset.
    //    offset
    //        String object containing the cookie's offset value.
    /////////////////////////////////////////////
    function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == 1)
        endstr = document.cookie.length;
      return unescape (document.cookie.substring (offset, endstr));
    }
    
    
    /////////////////////////////////////////////
    // Function to return the value of the cookie specified by its name.
    //    name
    //        String object containing the cookie name.
    // returns
    //    String object containing the cookie value or null if the cookie does not exist.
    /////////////////////////////////////////////
    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;
    }
    
    
    /////////////////////////////////////////////
    // Function to delete a cookie and set the expiration date to now (Default)
    // or in one day if replaced with the commented example code.
    //    name
    //        String object containing the cookie name.
    /////////////////////////////////////////////
    function DeleteCookie (name) {
      var exp = new Date();
      // Example: This cookie expires immediately. (Default)
      exp.setTime (exp.getTime() - 1);
      // Example: This cookie expires 24 hours from the currect date/time.
      // exp.setTime (exp.getTime() + (24 * 60 * 60 * 1000));
      var cval = GetCookie (name);
      document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
    }


Viewing cookies within a browser

    JavaScript:alert(document.cookie.split(';').join('\n'));
Go back...

 [ Home ]  [ Services ]  [ Expertise ]  [ Contact Us ]

© 2002-2009. Red Baritone. All rights reserved.