1/*
2 $cookie()
3 一个参数 获取
4 两个参数或以上 设置
5 两个参数,参数二 null 删除
6 */
7
8function $cookie(){
9 switch (arguments.length){
10 case 1 :
11 return getCookie(arguments[0]);
12 case 2 :
13 if(arguments[1] == null){
14 removeCookie(arguments[0]);
15 }else{
16 setCookie(arguments[0],arguments[1],{});
17 }
18 break;
19 default:
20 setCookie(arguments[0],arguments[1],arguments[3]);
21 break;
22 }
23}
24
25function setCookie(name,value,{expires,path,domain,secure}){
26 var str = encodeURIComponent(name) + "=" + encodeURIComponent(value);
27 if(expires) str += ";expires=" + afterOfDate(expires);
28 if(path) str += ";path=" + path;
29 if(domain) str += ";domain=" + domain;
30 if(secure) str += ";secure";
31 document.cookie = str;
32}
33
34function afterOfDate(n){
35 var date = new Date();
36 var day = date.getDate();
37 date.setDate(n + day);
38 return date;
39}
40function getCookie(name){
41 var cookieStr = decodeURIComponent(document.cookie);
42 var strat = cookieStr.indexOf(" " + name + "=");
43 if(strat == "-1"){
44 return null;
45 }else{
46 var end = cookieStr.indexOf(";",strat);
47 if(end == "-1"){
48 end = cookieStr.length;
49 }
50 var str = cookieStr.substring(strat,end);
51 return str.split("=")[1];
52 }
53}
54function removeCookie(name){
55 document.cookie = encodeURIComponent(name) + "=;expires=" + new Date(0);
56}