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之二(接口实现介绍)
Jan 27 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
Dec 26 Javascript
详解jQuery中的元素的属性和相关操作
Aug 14 Javascript
websocket+node.js实现实时聊天系统问题咨询
May 17 Javascript
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
JS实现自定义状态栏动画文字效果示例
Oct 12 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 Javascript
Vue分页效果与购物车功能
Dec 13 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
Feb 28 Javascript
vue 项目软键盘回车触发搜索事件
Sep 09 Javascript
详解Vue中的watch和computed
Nov 09 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
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
常用DOM整理
2015/06/16 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
python中函数总结之装饰器闭包详解
2016/06/12 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
高分子材料与工程专业推荐信
2013/12/01 职场文书
致短跑运动员广播稿
2014/01/09 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
节约用水倡议书
2014/04/16 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
企业读书活动总结
2014/06/30 职场文书
报效祖国演讲稿
2014/09/15 职场文书
运动员入场词
2015/07/18 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android