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 };