关于javascript的cookie的封装

 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 };
原文地址:https://www.cnblogs.com/guoyansi19900907/p/3582928.html