Wednesday, December 1, 2010

Create And Read Cookies In JavaScript

Cookies in JavaScript can be manipulated via the document.cookie object so to make life easier I've been using the following functions.


JavaScript Code:


     var DeveloperCaster = {
            Cookie: {
                Set: function (key, val, days) {
                    var expires = "";
                    if (days) {
                        var d = new Date();
                        d.setDate(d.getDate() + days);
                        expires = "; expires=" + d.toGMTString();
                    }
                    document.cookie = key + "=" + val + expires + "; path=/";
                },
                Read: function (key) {
                    key = key + "=";
                    var c = document.cookie.split(';');
                    for (var i = 0; i < c.length; i++) {
                        var con = c[i];
                        while (con.charAt(0) === ' ') {
                            con = con.substring(1, con.length);
                        }
                        if (con.indexOf(key) === 0) {
                            return con.substring(key.length, con.length);
                        }
                    }
                    return "";
                },
                Remove: function (key) {
                    DeveloperCaster.Cookie.Set(key, "", -1);
                },
                Accepts: function () {
                    var _cookie = '_developercaster_cookie_test_';
                    DeveloperCaster.Cookie.Set(_cookie, '1', 1);
                    if (DeveloperCaster.Cookie.Read(_cookie) !== "") {
                        DeveloperCaster.Cookie.Remove(_cookie);
                        return true;
                    }
                    return false;
                }
            }      
        };


Usage:
Setting a new cookie
DeveloperCaster.Cookie.Set("cookie_name", "cookie_value", 4); //4 days


Reading an existing cookie
DeveloperCaster.Cookie.Read("cookie_name");


Check if browser accepts cookies
if(DeveloperCaster.Cookie.Accepts()){
  
}

Compress this code here

No comments:

Post a Comment