1 var CookieUtil = { 2 get: function(name) { 3 var cookieName = encodeURIComponent(name) + "=", 4 cookieStart = document.cookie.indexOf(cookieName), 5 cookieValue = null; 6 7 if (cookieStart > -1) { 8 var cookieEnd = document.cookie.indexOf(";", cookieStart); 9 if (cookieEnd == -1) { 10 cookieEnd = document.cookie.length; 11 } 12 cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd)); 13 } 14 return cookieValue; 15 }, 16 set: function(name, value, expires, path, domain, secure) { 17 var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value); 18 19 if (expires instanceof Date) { 20 cookieText += "; expires=" + expires.toGMTString(); 21 } 22 23 if (path) { 24 cookieText += "; path=" + path; 25 } 26 27 if (domain) { 28 cookieText += "; domain=" + domain; 29 } 30 31 if (secure) { 32 cookieText += "; secure"; 33 } 34 35 document.cookie = cookieText; 36 }, 37 38 unset: function(name, path, domain, secure) { 39 this.set(name, "", new Date(0), path, domain, secure); 40 } 41 };
使用方法
1 //设置cookie 2 CookieUtil.set("name", "Nicholas"); 3 CookieUtil.set("book", "Professional JavaScript"); 4 5 //读取 6 console.log(CookieUtil.get("name")); 7 console.log(CookieUtil.get("book")); 8 9 //删除cookie 10 CookieUtil.unset("name"); 11 CookieUtil.unset("book"); 12 13 //设置1个cookie,包括它的路径、域、截止日期 14 CookieUtil.set("name", "Nicholas", "/books/projs/", "www.wrox.com", new Date("January 1, 2010")); 15 16 //删除同一cookie 17 CookieUtil.unset("name", "/books/projs/", "www.wrox.com"); 18 19 //设置1个安全cookie 20 CookieUtil.set("name", "Nicholas", null, null, null, true);