js 代码
- <script language=< span="">"JavaScript">
- function Cookie(delim){//操作Cookie类
- Array.prototype.splice=function(){
- var len=arguments.length,tarray=[],i=arguments[0]+arguments[1];
- if(len>1){
- while(i<this.length)tarray[tarray.length]=this[i++];
- this.length=arguments[0];
- if(len>2)for(var i=2;i<len;i++)< span="">this[this.length]=arguments;
- var tlen=tarray.length,i=0;
- while(i<tlen)< span="">this[this.length]=tarray[i++];
- }
- return this;
- }
- this._Cookie=[];
- this.Load=function(){
- if(document.cookie.indexOf(";")!=-1){
- var _sp,_name,_tp,_tars,_tarslength;
- var _item=document.cookie.split("; ");
- var _itemlength=_item.length;
- while(_itemlength>0){
- _sp=_item[--_itemlength].split("=");
- _name=_sp[0];
- _tp=_sp[1].split(",");
- _tars=_tp.slice(1,_tp.length);
- this._Cookie[_name]=[];
- this._Cookie[_name]=_tars;
- this._Cookie[_name]["timeout"]=_tp[0];
- }
- return true;
- }
- return false;
- }
- this.Save=function(){
- var _str,_ars,_mars,_marslength,timeout,i,key;
- for(key in this._Cookie){
- if(!this._Cookie[key])return;
- _str=[];
- _mars=CookieClass._Cookie[key];
- _marslength=_mars.length;
- for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars);
- document.cookie=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+";expires="+new Date(parseInt(_mars["timeout"])).toGMTString();
- }
- }
- this.GetCookieCount=function(){
- var _length=0,key;
- for(key in this._Cookie)_length++;
- return _length;
- }
- this.Create=function(name,days){
- this._Cookie[name]=[];
- this._Cookie[name]["timeout"]=new Date().getTime()+days*86400000;
- }
- this.Modify=function(name,days){
- this.Create(name,days);
- }
- this.GetTime=function(name){
- return new Date(parseInt(this._Cookie[name]["timeout"]));
- }
- this.Delete=function(name){
- this.Create(name,0);
- }
- this.AddItem=function(name,value){
- this._Cookie[name][this._Cookie[name].length]=value;
- }
- this.DelItem=function(name,index){
- this._Cookie[name].splice(index,1);
- }
- this.GetCount=function(name){
- return this._Cookie[name].length;
- }
- this.GetItem=function(name,index){
- return this._Cookie[name][index];
- }
- }
- </script>
- <script language=< span="">"JavaScript">
- /*
- ====================================
- Design :flashsoft
- ====================================
- 浏览器能够通过Cookies保留有关数据。象Windows的注册表一样,用户不必知道Cookies的具体位置,浏览器能找到这些数据。第六代的浏览器,不管是IE还是NS都支持document.cookie属性。通过这个属性来读取或修改Cookies的值。不过Cookies的存储形式是非结构化的长字符串,需要经过相应的解析后才有意义。
- Cookies的表达如下,除了name=value以外,其它均为可选:
- name=value;
- expires=date;
- domain=domainname
- path=pathname;
- secure;
- 例如:
- User=HockeyDude; expires=Thu,01-Jan-70 00:00:01 GMT; domain=www.mydomain.com; path=/images; secure;
- Pass=Gretzky; expires=Thu,01-Jan-70 00:00:01 GMT; domain=www.mydomain.com; path=/images; secure;
- 这么长的两个字符串只代表了两个Cookies。如果还要再加上电子信箱或其他信息就还得加长字符串。通常都是通过分解这样的字符串来取得各个变量或元素的。这实在是费时费力的事。
- 使用面向对象设计(Object Oriented Design,OOD)的思路来编写Cookies处理函数,其特点如下:
- 便于增删子项。这是很重要的,有些浏览器限制Cookies的使用数量。
- 通过修改函数可以容易地修改时效数据。通常的做法很麻烦,要拷贝Cookies,删除原Cookies,修改并重写Cookies。
- Cookies和它的子项存放在数组里。可以根据需要快速而有效地进行修改。这样也无须解析那长长的字符串。
- Cookies对象的使用
- 以下是对象的公有方法:
- 方括号[]内是可选参数
- //构造
- Cookie([定界符,缺省为句点]) - 构造函数
- //初始化
- GetCookieCount() - 返回Cookies数量
- Create(name, days) - 创建Cookies及其时效天数
- Modify(name, days) - 修改Cookies的时效天数
- Delete(name) - 删除Cookies及其子项
- GetTime(name) - 返回指定Cookies的过期时间
- GetCount(name) - 返回Cookies的子项数量
- AddItem(name,value) - 增加一个子项
- GetItem(name,index) - 返回指定索引的子项
- DelItem(name,index) - 删除指定的子项
- //存取
- Load() - 读取Cookies
- Save() - 存储Cookies
- 下面是应用实例:
- */
- var CookieClass=new Cookie();
- if(!CookieClass.Load()){
- CookieClass.Create("Pass",1);
- CookieClass.Create("User",1);
- CookieClass.AddItem("Pass","Ps1");
- CookieClass.AddItem("Pass","Ps2");
- CookieClass.AddItem("Pass","Ps3");
- CookieClass.AddItem("Pass","Ps4");
- CookieClass.AddItem("Pass","Ps5");
- CookieClass.AddItem("Pass","Ps6");
- CookieClass.DelItem("Pass",1);
- CookieClass.Save();
- }
- alert("Cookie过期时间:"+CookieClass.GetTime("Pass").toLocaleString());
- alert(document.cookie);
- </script>
- <script language=< span="">"Javascript">
- function eyunCookie(){
- this.key="";//初始化key。
- this.value="";//初始化key's value。
- this.expires=0;//初始化cookie的有效时间,单位毫秒。
- this.init=function(){//对象初始化
- this.key="";
- this.value="";
- this.expires=0;
- }
- this.set=function(key,value,expires){//设置cookie
- if(this.key=="")this.key=key;
- if(this.value=="")this.value=value;
- if(this.expires<=0)this.expires=expires;
- if(this.key==""||typeof(this.key)!="string"){
- alert("请先设置欲保存的cookie名称!");
- this.init();
- return false;
- }
- if(this.key.match(/[,; ]/)){
- alert("cookie名称中不能包含“,”、“;”或空格!");
- this.init();
- return false;
- }
- if(this.value.toString().match(/[,; ]/)||typeof(this.value)=="undefined"){
- alert("cookie值中不能包含“,”、“;”或空格!");
- this.init();
- return false;
- }
- if(this.expires<=0||typeof(this.expires)!="number"){
- alert("请先正确设置cookie的有效时间!");
- this.init();
- return false;
- }
- var cookie=document.cookie;
- if(cookie.indexOf(this.key+"=")!=-1){
- if(!confirm("欲保存的cookie名称已经存在,是否要进行替换?")){
- this.init();
- return false;
- }
- }
- var dt=new Date();
- dt.setTime(dt.getTime()+this.expires);
- document.cookie=this.key+"="+this.value+";expires="+dt.toGMTString();
- this.init();
- return true;
- }
- this.get=function(key){//取得名为key的cookie的值
- if(key==""||key.match(/[,; ]/)){
- alert("请正确设置欲查找的cookie名称!")
- return false;
- }
- var cookie=document.cookie;
- var start=cookie.indexOf(key+"=");
- if(start==-1){
- alert("欲查找的cookie不存在!")
- return false;
- }
- var end=cookie.indexOf(";",start);
- if(end==-1)end=cookie.length;
- var getCookie=cookie.substring(start+key.length+1,end);
- alert("cookie:"+key+"的值为"+getCookie);
- return getCookie;
- }
- this.showAll=function(){//显示所有cookie
- alert("共有以下cookie对:\n"+document.cookie.split(";").toString().replace(/,/g,"\n"));
- }
- this.del=function(key){//删除名为key的cookie
- if(key==""||key.match(/[,; ]/)){
- alert("请正确设置欲删除的cookie名称!")
- return false;
- }
- var dt=new Date();
- dt.setTime(dt.getTime());
- document.cookie=key+"=eyunDelete;expires="+dt.toGMTString();
- this.init();
- return true;
- }
- this.destroy=function(){//销毁所有cookie
- var dt=new Date();
- dt.setTime(dt.getTime());
- while(document.cookie!=""){
- document.cookie=document.cookie+";expires="+dt.toGMTString();
- this.init();
- return true;
- }
- }
- }
- var cookieTest=new eyunCookie()
- function settest(){
- cookieTest.key="test"
- cookieTest.value="ok"
- cookieTest.expires=31536000000
- cookieTest.set()
- }
- </script>
相关推荐
js javascript cookie 类 操作
js操作cookies类.pdf
js操作cookies类[文].pdf
cookies.js - 让使用javascript超级简单得操作cookies在前端
javascript 操作cookies及正确使用cookies的属性.docx
js操作cookies
javascript 操作cookies详解及实例.docx
javascript对cookies的操作
cookie.js:一个微小的JavaScript库,简化了Cookies操作
【JavaScript】cookies操作详解
为方便客户端脚本JavaScript操作cookies,鄙人特汇总了一下操作函数,包括cookies的临时会话创建,指定过期时间创建,获取值,删除cookies等函数。有其它建议的欢迎留言!
一直都是简单去js实现cookie的一些操作,今天把js对cookie操作系统的整理了一遍,包括:js读取cookie,js添加cookie,js删除cookie
Cookies.js 是一个客户端的 Cookie 操作的 JavaScript 库。 示例代码: // Setting a cookie value Cookies.set('key', 'value'); // Chaining sets together Cookies.set('key', 'value').set('hello', 'world'...
javascript 操作cookies详解 这段操作cookies的方法我使用很久了,但是一直一来没遇到什么问题,今天在做一个在第一个页面保存了cookies,第二个页面获取或者第三个页面获取的功能中,发现了方法的局限性,比如,第...
一、从写 cookie 说起。 var the_date = new Date(“December 31, 2020”); var expiresDate = the_date.toGMTString(); [removed] = “userDefineCSS=” + escape(title) + “; expires=” + expiresDate;...
介绍了JS操作Cookies的小例子,有需要的朋友可以参考一下