javascript cookie操作类的实现代码小结附使用方法


Posted in Javascript onJune 02, 2010

第一种方法:cookie操作类,代码封装了,下面也有使用方法,大家可以参考下。

String.prototype.Trim = function() 
{ 
return this.replace(/^\s+/g,"").replace(/\s+$/g,""); 
} 
function JSCookie() 
{ 
this.GetCookie = function(key) 
{ 
var cookie = document.cookie; 
var cookieArray = cookie.split(';'); 
var getvalue = ""; 
for(var i = 0;i<cookieArray.length;i++) 
{ 
if(cookieArray[i].Trim().substr(0,key.length) == key) 
{ 
getvalue = cookieArray[i].Trim().substr(key.length + 1); 
break; 
} 
} 
return getvalue; 
}; 
this.GetChild = function(cookiekey,childkey) 
{ 
var child = this.GetCookie(cookiekey); 
var childs = child.split('&'); 
var getvalue = ""; 
for(var i = 0;i < childs.length;i++) 
{ 
if(childs[i].Trim().substr(0,childkey.length) == childkey) 
{ 
getvalue = childs[i].Trim().substr(childkey.length + 1); 
break; 
} 
} 
return getvalue; 
}; 
this.SetCookie = function(key,value,expire,domain,path) 
{ 
var cookie = ""; 
if(key != null && value != null) 
cookie += key + "=" + value + ";"; 
if(expire != null) 
cookie += "expires=" + expire.toGMTString() + ";"; 
if(domain != null) 
cookie += "domain=" + domain + ";"; 
if(path != null) 
cookie += "path=" + path + ";"; 
document.cookie = cookie; 
}; 
this.Expire = function(key) 
{ 
expire_time = new Date(); 
expire_time.setFullYear(expire_time.getFullYear() - 1); 
var cookie = " " + key + "=e;expires=" + expire_time + ";" 
document.cookie = cookie; 
} 
}

用法:
一、设置cookie
var cookie = new JSCookie();
//普通设置
cookie .SetCookie("key1","val1");
//过期时间为一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie .SetCookie("key2","val2",expire_time);
//设置域及路径,带过期时间
cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");
//设置带子键的cookie,子键分别是k1,k2,k3
cookie .SetCookie("key4","k1=1&k2=2&k3=3");
二、读取cookie
//简单获取
cookie .GetCookie("key1");
cookie .GetCookie("key2");
cookie .GetCookie("key3");
cookie .GetCookie("key4");
//获取key4的子键k1值
cookie .GetChild("key4","k1");
三、删除
cookie .Expire("key1");
cookie .Expire("key2");
cookie .Expire("key3");
cookie .Expire("key4");
第二种方法:cookie操作函数,三水点靠木也是用的这个。大家可以根据需要选择。
function setCookie(name, value) //cookies设置JS 
{ 
var argv = setCookie.arguments; 
var argc = setCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 
if(expires!=null) 
{ 
var LargeExpDate = new Date (); 
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24)); 
} 
document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); 
} function getCookie(Name) //cookies读取JS 
{ 
var search = Name + "=" 
if(document.cookie.length > 0) 
{ 
offset = document.cookie.indexOf(search) 
if(offset != -1) 
{ 
offset += search.length 
end = document.cookie.indexOf(";", offset) 
if(end == -1) end = document.cookie.length 
return unescape(document.cookie.substring(offset, end)) 
} 
else return "" 
} 
}

使用方法:
if(getCookie("yxjok")!="ok"){ 
//判断cookie中yxjok的值是不是为ok,不是则显示下面的广告。 
document.write('<div id="3water_yxj"><a href="https://3water.com" onclick="Closeyxj()" target="_blank"><img src="https://3water.com/images/logo.gif" 
/></a></div>'); 
} 
function Closeyxj(){ 
//关闭广告的现实。并用cookies记录已经显示过了,这里的功能主要是关闭后一段时间不显示默认是24小时。 
$("3water_yxj").style.display='none'; 
setCookie("yxjok","ok",10); 
} function setADCookie(name, value) //主要是修改了cookies的过期时间,为几分钟。 
{ 
var argv = setADCookie.arguments; 
var argc = setADCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 
if(expires!=null) 
{ 
var LargeExpDate = new Date (); 
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*300)); 
} 
document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); 
}
Javascript 相关文章推荐
javascript+xml技术实现分页浏览
Jul 27 Javascript
eclipse导入jquery包后报错的解决方法
Feb 17 Javascript
js分页代码分享
Apr 28 Javascript
jquery使整个div区域可以点击的方法
Jun 24 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 Javascript
jQuery文字轮播特效
Feb 12 Javascript
JS库之ParticlesJS使用简介
Sep 12 Javascript
vue组件详解之使用slot分发内容
Apr 09 Javascript
vue自定义底部导航栏Tabbar的实现代码
Sep 03 Javascript
实例详解带参数的 npm script
May 28 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
Aug 23 Javascript
js操作select控件的几种方法
Jun 02 #Javascript
Jquery升级新版本后选择器的语法问题
Jun 02 #Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 #Javascript
JQuery index()方法使用代码
Jun 02 #Javascript
JQuery下的Live方法和$.browser方法使用代码
Jun 02 #Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
Jun 01 #Javascript
一些经常会用到的Javascript检测函数
May 31 #Javascript
You might like
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
php调用mysql数据 dbclass类
2011/05/07 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
php简单实现数组分页的方法
2016/04/30 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
PHP之header函数详解
2021/03/02 PHP
JQuery 入门实例1
2009/06/25 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
JS写滑稽笑脸运动效果
2020/05/28 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
python基于phantomjs实现导入图片
2016/05/13 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
Joules官网:女士、男士和儿童服装和鞋类
2018/10/23 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
旅游管理专业个人求职信范文
2013/12/24 职场文书
建筑工程专业学生的自我评价
2013/12/25 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
经济担保书范文
2014/04/02 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python