Skip to content

Instantly share code, notes, and snippets.

@jonahlyn
Created May 14, 2010 23:33
Show Gist options
  • Save jonahlyn/401831 to your computer and use it in GitHub Desktop.
Save jonahlyn/401831 to your computer and use it in GitHub Desktop.
Manipulate cookies in JavaScript.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<script type="text/javascript" src="cookieUtil.js"></script>
<script>
cookieUtil.init();
cookieUtil.createCookie('cookies','yum');
cookieUtil.createCookie('chocolate','chip');
</script>
</head>
<body>
<div id="container">
<script>
document.write("Cookies: " + cookieUtil.enabled + "<br/>");
document.write("<br/>");
document.write("Cookies enabled? ");
if ( cookieUtil.cookiesEnabled() ) {
document.write ("Yes!" + "<br/>");
} else {
document.write ("No :-(" + "<br/>");
}
document.write("<br/>");
if (document.cookie.length > 0) {
var cs = document.cookie.split(";");
for (var i = 0; i<cs.length; i++){
var c = cs[i].split("=");
var cname = c[0];
var cvalue = c[1];
document.write("Cookie: " + cname + " = " + cvalue + "<br/>");
}
} else {
document.write("No cookies found.");
}
</script>
</div>
</body>
</html>
/*
cookieUtil.js
Manipulate cookies in JavaScript
*/
var cookieUtil = {
init: function () {
this.enabled = this.cookiesEnabled() ? "Enabled" : "Disabled";
},
createCookie: function (name, value, days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
else {
expires = "";
}
document.cookie = name + "=" + value + expires + "; path=/";
},
readCookie: function (name) {
var search = name + "=", ca = document.cookie.split(";"), i, c;
for (i = 0;i < ca.length; i = i + 1) {
c = ca[i];
while (c.charAt(0) === " ") {
c = c.substring(1, c.length);
}
if (c.indexOf(search) === 0) {
return c.substring(search.length, c.length);
}
}
return null;
},
deleteCookie: function (name) {
this.createCookie(name, "", -1);
},
deleteAllCookies: function () {
if (document.cookie.length > 0) {
var cs = document.cookie.split(";"), i, c, cname;
for (i = 0; i < cs.length; i = i + 1) {
c = cs[i].split("=");
cname = c[0];
this.deleteCookie(cname);
}
} else {
return false;
}
},
cookiesEnabled: function () {
this.createCookie("test", "test");
var test = this.readCookie("test");
if (test === "test") {
this.deleteCookie("test");
return true;
} else {
return false;
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment