JavaScript实现cookies设置【读,增,删,修等操作】

上一篇 / 下一篇  2008-02-23 00:02:31 / 个人分类:转载

JavaScript实现cookies设置,在网上有很多代码,但是功能完全的确很少找到,前段时间做ajax程序,需要js操作cookies 就自己写了段JS,这里提供给大家,希望有点用处

未加密的JS文件
/* 
GetCookie(name) 获取Cookies方法 ,name为名字
SetCookie(name,value,interval,number,[path],[domain],[secure]) 设置cookies方法
  name 名称,value cookies值,interval("y" 年,"q"季,"m"月,"d"日,"h"时,"M"分,"s"秒,默认:日),number:数量级
  [path],[domain],[secure] 可缺省。
DelCookie(name)  删除设置过期cookies , name:cookies名称  
mr.junval@qq.com 2008
*/

function GetCookieVal(offset){
    
var endstr = document.cookie.indexOf (";", offset);
    
if (endstr == -1)
    endstr 
= document.cookie.length;
    
return unescape(document.cookie.substring(offset, endstr));
    }

    
    
function GetCookie(name){
    
var arg = name + "=";
    
var alen = arg.length;
    
var clen = document.cookie.length;
    
var i = 0;
    
while (i < clen){
        
var j = i + alen;
        
if (document.cookie.substring(i, j) == arg)
        
return GetCookieVal (j);
        i 
= document.cookie.indexOf(" ", i) + 1;
        
if (i == 0break;
    }

    
return null;
    }

    
    
function DelCookie(name){
        
var exp = new Date();
        exp.setTime (exp.getTime() 
- 1);
        
var cval = GetCookie (name);
        document.cookie 
= name + "=" + cval + "; expires="+ exp.toGMTString();
    }

    
    
function SetCookie(name, value,interval,number){
        
if (interval == "0"return false;
        
var expdate = new Date();
        
var argv = SetCookie.arguments;
        
var argc = SetCookie.arguments.length;
        
var expires = DateAdd(interval,number,expdate);
        
var path = (argc > 4? argv[4] : null;
        
var domain = (argc > 5? argv[5] : null;
        
var secure = (argc > 6? argv[6] : false;
        document.cookie 
= name + "=" + escape (value) +((expires == null? "" : ("; expires="+ expires.toGMTString()))
        
+((path == null? "" : ("; path=" + path)) +((domain == null? "" : ("; domain=" + domain))
        
+((secure == true? "; secure" : "");
    }

    
    
function DateAdd(interval,number,date){
        
switch(interval){
            
case "y":{
                date.setFullYear(date.getFullYear()
+number);   
                
return date;   
                
break
            }

            
case "q":{
                date.setMonth(date.getMonth()
+number*3);  
                
return date;   
                
break
            }

            
case "m":{
                date.setMonth(date.getMonth()
+number);   
                
return date;   
                
break
            }

            
case "w":{
                date.setDate(date.getDate()
+number*7);  
                
return date;   
                
break
            }

            
case "d":{
                date.setDate(date.getDate()
+number); 
                
return date;   
                
break
            }

            
case "h":{
                date.setHours(date.getHours()
+number);   
                
return date;   
                
break
            }

            
case "M":{
                date.setMinutes(date.getMinutes()
+number);   
                
return date;   
                
break
            }

            
case "s":{
                date.setSeconds(date.getSeconds()
+number);  
                
return date;   
                
break
            }

            
case "0":
                
return date;   
                
break
            }

        }
           
    }

采用脚本压缩后的JS文件(通过测试完全可以使用)
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('n X(D){8 p=f.e.Y(";",D);t(p==-1)p=f.e.z;9 10(f.e.U(D,p))}n F(g){8 C=g+"=";8 W=C.z;8 P=f.e.z;8 i=0;13(i<P){8 j=i+W;t(f.e.U(i,j)==C)9 X(j);i=f.e.Y(" ",i)+1;t(i==0)b}9 k}n 11(g){8 u=K I();u.12(u.Z()-1);8 H=F(g);f.e=g+"="+H+"; o="+u.L()}n E(g,N,l,a){t(l=="0")9 Q;8 G=K I();8 A=E.J;8 v=E.J.z;8 o=V(l,a,G);8 x=(v>4)?A[4]:k;8 r=(v>5)?A[5]:k;8 B=(v>6)?A[6]:Q;f.e=g+"="+1c(N)+((o==k)?"":("; o="+o.L()))+((x==k)?"":("; x="+x))+((r==k)?"":("; r="+r))+((B==17)?"; B":"")}n V(l,a,2){1a(l){c"y":{2.16(2.18()+a);9 2;b}c"q":{2.O(2.T()+a*3);9 2;b}c"m":{2.O(2.T()+a);9 2;b}c"w":{2.S(2.R()+a*7);9 2;b}c"d":{2.S(2.R()+a);9 2;b}c"h":{2.1d(2.19()+a);9 2;b}c"M":{2.14(2.15()+a);9 2;b}c"s":{2.1e(2.1b()+a);9 2;b}c"0":{9 2;b}}}',62,77,'||date||||||var|return|number|break|case||cookie|document|name||||null|interval||function|expires|endstr||domain||if|exp|argc||path||length|argv|secure|arg|offset|SetCookie|GetCookie|expdate|cval|Date|arguments|new|toGMTString||value|setMonth|clen|false|getDate|setDate|getMonth|substring|DateAdd|alen|GetCookieVal|indexOf|getTime|unescape|DelCookie|setTime|while|setMinutes|getMinutes|setFullYear|true|getFullYear|getHours|switch|getSeconds|escape|setHours|setSeconds'.split('|'),0,{}))

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar