`
CN.Silva...
  • 浏览: 48184 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaScript操作Cookie

阅读更多
js 代码
  1. <script>   
  2. function setCookie(name,value)   
  3. {   
  4.  var Days = 30; //此 cookie 将被保存 30 天   
  5.  var exp = new Date(); //new Date("December 31, 9998");   
  6.  exp.setTime(exp.getTime() + Days*24*60*60*1000);   
  7.  document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();   
  8. }   
  9. function getCookie(name)   
  10. {   
  11.  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));   
  12.  if(arr != nullreturn unescape(arr[2]); return null;   
  13. }   
  14. function delCookie(name)   
  15. {   
  16.  var exp = new Date();   
  17.  exp.setTime(exp.getTime() - 1);   
  18.  var cval=getCookie(name);   
  19.  if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();   
  20. }   
  21.   
  22. setCookie("aaa","呵呵");   
  23. alert(getCookie('aaa'));   
  24. </script>   

 

Cookie类

 

js 代码
  1. <script language="JScript">   
  2. function Cookie(delim){//操作Cookie类   
  3.   Array.prototype.splice=function(){   
  4.     var len=arguments.length,tarray=[],i=arguments[0]+arguments[1];   
  5.     if(len>1){   
  6.       while(i<this.length)tarray[tarray.length]=this[i++];   
  7.       this.length=arguments[0];   
  8.       if(len>2)for(var i=2;i<len;i++)this[this.length]=arguments[i];   
  9.       var tlen=tarray.length,i=0;   
  10.       while(i<tlen)this[this.length]=tarray[i++];   
  11.       }   
  12.     return this;   
  13.     }   
  14.   this._Cookie=[];   
  15.   this.Load=function(){   
  16.     if(document.cookie.indexOf(";")!=-1){   
  17.       var _sp,_name,_tp,_tars,_tarslength;   
  18.       var _item=document.cookie.split("; ");   
  19.       var _itemlength=_item.length;   
  20.       while(_itemlength>0){   
  21.         _sp=_item[--_itemlength].split("=");   
  22.         _name=_sp[0];   
  23.         _tp=_sp[1].split(",");   
  24.         _tars=_tp.slice(1,_tp.length);   
  25.         this._Cookie[_name]=[];   
  26.         this._Cookie[_name]=_tars;   
  27.         this._Cookie[_name]["timeout"]=_tp[0];   
  28.         }   
  29.       return true;   
  30.       }   
  31.     return false;   
  32.     }   
  33.   this.Save=function(){   
  34.     var _str,_ars,_mars,_marslength,timeout,i,key;   
  35.     for(key in this._Cookie){   
  36.       if(!this._Cookie[key])return;   
  37.       _str=[];   
  38.       _mars=CookieClass._Cookie[key];   
  39.       _marslength=_mars.length;   
  40.       for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars[i]);   
  41.       document.cookie=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+";expires="+new Date(parseInt(_mars["timeout"])).toGMTString();   
  42.       }   
  43.        
  44.     }   
  45.   this.GetCookieCount=function(){   
  46.     var _length=0,key;   
  47.     for(key in this._Cookie)_length++;   
  48.     return _length;   
  49.     }   
  50.   this.Create=function(name,days){   
  51.     this._Cookie[name]=[];   
  52.     this._Cookie[name]["timeout"]=new Date().getTime()+days*86400000;   
  53.     }   
  54.   this.Modify=function(name,days){   
  55.     this.Create(name,days);   
  56.     }   
  57.   this.Delete=function(name){   
  58.     this.Create(name,0);   
  59.     }   
  60.   this.AddItem=function(name,value){   
  61.     this._Cookie[name][this._Cookie[name].length]=value;   
  62.     }   
  63.   this.DelItem=function(name,index){   
  64.     this._Cookie[name].splice(index,1);   
  65.     }   
  66.   this.GetCount=function(name){   
  67.     return this._Cookie[name].length;   
  68.     }   
  69.   this.GetItem=function(name,index){   
  70.     return this._Cookie[name][index];   
  71.     }   
  72.   }   
  73. </script>   
  74. <script language="JScript">   
  75. /*  
  76. ====================================  
  77. Design :Flashsoft  
  78. ====================================  
  79. 浏览器能够通过Cookies保留有关数据。象Windows的注册表一样,用户不必知道Cookies的具体位置,浏览器能找到这些数据。第六代的浏览器,不管是IE还是NS都支持document.cookie属性。通过这个属性来读取或修改Cookies的值。不过Cookies的存储形式是非结构化的长字符串,需要经过相应的解析后才有意义。  
  80.  
  81. Cookies的表达如下,除了name=value以外,其它均为可选:  
  82. name=value;   
  83. expires=date;  
  84. domain=domainname  
  85. path=pathname;  
  86. secure;  
  87.  
  88. 例如:  
  89. User=HockeyDude; expires=Thu,01-Jan-70 00:00:01 GMT; domain=www.mydomain.com; path=/images; secure;  
  90. Pass=Gretzky; expires=Thu,01-Jan-70 00:00:01 GMT; domain=www.mydomain.com; path=/images; secure;  
  91.  
  92. 这么长的两个字符串只代表了两个Cookies。如果还要再加上电子信箱或其他信息就还得加长字符串。通常都是通过分解这样的字符串来取得各个变量或元素的。这实在是费时费力的事。  
  93.  
  94. 我使用面向对象设计(Object Oriented Design,OOD)的思路来编写Cookies处理函数,其特点如下:  
  95.  
  96. 便于增删子项。这是很重要的,有些浏览器限制Cookies的使用数量。  
  97. 通过修改函数可以容易地修改时效数据。通常的做法很麻烦,要拷贝Cookies,删除原Cookies,修改并重写Cookies。  
  98. Cookies和它的子项存放在数组里。可以根据需要快速而有效地进行修改。这样也无须解析那长长的字符串。  
  99.  
  100. Cookies对象的使用  
  101. 以下是对象的公有方法:  
  102.  
  103. 方括号[]内是可选参数  
  104. //构造  
  105. Cookie([定界符,缺省为句点]) - 构造函数  
  106.  
  107. //初始化  
  108. GetCookieCount() - 返回Cookies数量  
  109. Create(name, days) - 创建Cookies及其时效天数  
  110. Modify(name, days) - 修改Cookies的时效天数  
  111. Delete(name) - 删除Cookies及其子项  
  112. GetCount(name) - 返回Cookies的子项数量  
  113. AddItem(name,value) - 增加一个子项  
  114. GetItem(name,index) - 返回指定索引的子项  
  115. DelItem(name,index) - 删除指定的子项  
  116.  
  117. //存取  
  118. Load() - 读取Cookies  
  119. Save() - 存储Cookies  
  120.  
  121. 下面是应用实例:  
  122. */  
  123. var CookieClass=new Cookie();   
  124. if(!CookieClass.Load()){   
  125.   CookieClass.Create("Pass",1);   
  126.   CookieClass.Create("User",1);   
  127.   CookieClass.AddItem("Pass","Ps1");   
  128.   CookieClass.AddItem("Pass","Ps2");   
  129.   CookieClass.AddItem("Pass","Ps3");   
  130.   CookieClass.AddItem("Pass","Ps4");   
  131.   CookieClass.AddItem("Pass","Ps5");   
  132.   CookieClass.AddItem("Pass","Ps6");   
  133.   CookieClass.DelItem("Pass",1);   
  134.   CookieClass.Save();   
  135.   }   
  136. alert(document.cookie);   
  137. </script>   
分享到:
评论

相关推荐

    javascript 操作cookie.js

    javascript 操作cookiejavascript 操作cookiejavascript 操作cookie

    javascript操作cookie

    ### JavaScript操作Cookie知识点详解 #### 一、Cookie简介 Cookie是一种小型的数据文件,通常由服务器发送到客户端(浏览器),客户端将这些数据存储在本地硬盘上,并在后续与该服务器进行交互时将数据发送回...

    C#和javascript操作cookie

    本文将详细探讨如何在C#后端和JavaScript前端中操作Cookie。 首先,C#在ASP.NET中处理Cookie主要通过`HttpCookie`类。创建一个Cookie的基本步骤如下: 1. **创建Cookie对象**:使用`new HttpCookie(string name)`...

    javascript操作cookie_获取与修改代码

    ### 知识点二:JavaScript操作Cookie的方法 在JavaScript中,我们可以直接通过操作`document.cookie`来读取和写入cookie值。不过这种方式较为原始,不方便维护和扩展。为了更好地管理cookie,我们可以封装一些方法...

    javascript操作Cookie(设置、读取、删除)方法详解

    通过以上三种操作Cookie的方法,开发者可以利用JavaScript在浏览器端灵活地管理Cookie。需要注意的是,Cookie的大小有限制,通常不超过4KB,并且在使用Cookie时还需要考虑用户隐私和安全的问题,避免存储敏感信息。...

    浅析javascript操作 cookie对象

    JavaScript操作Cookie相对JSP或Servlet来说较为复杂,因为JSP和Servlet可以直接在服务器端处理,而JavaScript需要在客户端进行,这涉及到对用户浏览器环境的依赖和可能的安全限制。尽管如此,JavaScript的Cookie操作...

    JavaScript操作cookie类实例

    ### JavaScript操作Cookie类知识点详解 #### 一、JavaScript操作Cookie类的实例用法 1. **设置Cookie** 在JavaScript中,我们可以创建一个Cookie类的实例,然后通过该实例的SetCookie方法来设置Cookie值。例如,...

    javascript针对cookie的基本操作实例详解.docx

    #### JavaScript操作Cookie的基本技巧 ### 一、设置Cookie 设置Cookie通常包括添加和修改功能。如果原有的Cookie名称已经存在,则添加此Cookie就相当于修改了此Cookie。设置Cookie时还可能包含一些额外的选项,例如...

    javascript实现cookie功能

    JavaScript是Web开发中的重要脚本语言,用于处理客户端的交互逻辑。在网页中实现Cookie功能是JavaScript的一个...通过学习和掌握JavaScript操作Cookie的方法,可以更好地理解和实践Web开发中的用户状态管理和会话管理。

    JavaScript操作Cookie详解

    主要介绍了JavaScript操作Cookie详解,本文讲解了什么是Cookie、Cookie基础知识、Cookie常见问题、cookie 有两种清除方式、Cookie基础用法、Cookie高级用法等内容,需要的朋友可以参考下

    JavaScript操作Cookie方法实例分析

    JavaScript操作Cookie的方法包括设置cookie、读取cookie、删除cookie以及删除所有cookie,这些方法对于前端开发者在Web开发过程中对用户进行跟踪、个性化设置、状态管理等方面有着重要的作用。下面详细介绍这些操作...

    Javascript操作cookie的函数代码

    ### Javascript操作Cookie的函数代码 #### 知识点概述: 在Web开发中,Cookie用于在用户的浏览器中存储少量数据,是Web存储解决方案的一部分。本文详细介绍了JavaScript中操作Cookie的函数,包括简单版本和封装...

    Javascript Cookie操作类的封装

    接下来,我们来创建一个名为`CookieManager`的JavaScript类,用于封装Cookie的操作。这个类需要包含以下方法: 1. **setCookie**:用于设置Cookie。需要传入键(key)、值(value)以及可选的过期时间(days)和...

    javascript操作cookie的文章(设置,删除cookies)

    整体而言,JavaScript操作Cookie主要涉及到解析和构造document.cookie字符串,通过字符串操作来实现Cookie的增删改查功能。在实际应用中,需要注意Cookie的生命周期、作用域(域和路径)以及安全问题,合理利用这些...

Global site tag (gtag.js) - Google Analytics