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 相关文章推荐
Jquery之Ajax运用 学习运用篇
Sep 26 Javascript
js防止表单重复提交的两种方法
Sep 30 Javascript
JavaScript数组去重的两种方法推荐
Apr 05 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
关于微信小程序bug记录与解决方法
Aug 15 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
详解Vue前端对axios的封装和使用
Apr 01 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 Javascript
javascript实现留言板功能
Feb 08 Javascript
vue组件系列之TagsInput详解
May 14 Javascript
JavaScript中MutationObServer监听DOM元素详情
Nov 27 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
再次研究下cache_lite
2007/02/14 PHP
中英文字符串翻转函数
2008/12/09 PHP
php实现将Session写入数据库
2015/07/26 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
Angular2库初探
2017/03/01 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
Django forms组件的使用教程
2018/10/08 Python
python三大神器之fabric使用教程
2019/06/10 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python怎么自定义捕获错误
2020/06/29 Python
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
学前教育学生自荐信范文
2013/12/31 职场文书
个人自我评价范文
2014/02/05 职场文书
预备党员转正考核材料
2014/06/03 职场文书
银行求职自荐信
2014/06/30 职场文书
2015年双拥工作总结
2015/04/08 职场文书
校运会广播稿
2015/08/19 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫