1 /******************cookie*********************/ 2 /* 3 cookie的组成部分: 4 名称:唯一值,不区分大小写,必须经过URL编码 5 值:必须经过URL编码 6 域:只是改cookie在哪个域中是有效的. 7 路径:如果cookie的路径在www.guo.com中能访问,那么在www.yan.com页面就不会发送cookie.即使cookie来自同一个域中的 8 失效时间:在什么时间点被删除 9 安全标志:指定后,cookie只有在使用ssl链接的时候才发送到服务器. 10 域,路径,失效时间和secure标志都是服务器给浏览器的指示 11 CookieUtil.set("name", "guoyansi");//设置 12 CookieUtil.get("name");//获取 13 CookieUtil.unset("name");//删除 14 */ 15 var CookieUtil = { 16 get: function (name) { //读取 17 var cookieName = encodeURIComponent(name) + "="; 18 var cookieStart = document.cookie.indexOf(cookieName); 19 var cookieValue = null; 20 if (cookieStart > -1) { 21 var cookieEnd = document.cookie.indexOf(";", cookieStart); //从cookieStart开始检索字符串";" 22 if (cookieEnd == -1) {//没有检索到 23 cookieEnd = document.cookie.length; 24 } 25 cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd)); 26 } 27 return cookieValue; 28 }, 29 /* 30 设置 31 */ 32 set: function (name, value, expires, path, domain, secure) { //键名,键值,保存时间,路径,域,失效日期 33 var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value); 34 if (expires instanceof Date) { 35 cookieText += "; expires=" + expires.toGMTString(); 36 } 37 if (path) { 38 cookieText += "; path=" + path; 39 } 40 if (domain) { 41 cookieText += "; domain=" + domain; 42 } 43 if (secure) { 44 cookieText += "; secure"; 45 } 46 document.cookie = cookieText; 47 }, 48 /* 49 cookie不存在删除的方法,可以将某条cookie记录的有效期设置成过去式,就可以删除某条cookie记录了. 50 */ 51 unset: function (name, path, domain, secure) { 52 this.set(name, "", new Date(0), path, domain, secure); 53 } 54 };