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 相关文章推荐
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
Apr 29 Javascript
指定js可访问其它域名的cookie的方法
Sep 18 Javascript
JS 页面自动加载函数(兼容多浏览器)
May 18 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
BootStrap中的table实现数据填充与分页应用小结
May 26 Javascript
jQuery简单实现彩色云标签效果示例
Aug 01 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
Aug 11 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
Vue.js学习教程之列表渲染详解
May 17 Javascript
Jquery的Ajax技术使用方法
Jan 21 jQuery
JS常见错误(Error)及处理方案详解
Jul 02 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读取IMAP邮件
2006/10/09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php的字符串用法小结
2010/06/08 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python模拟百度登录实例详解
2016/01/20 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
python 使用while循环输出*组成的菱形实例
2020/04/12 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
介绍Java的内部类
2012/10/27 面试题
大学生学习党课思想汇报
2014/01/03 职场文书
班主任寄语大全
2014/04/04 职场文书
平面设计师岗位职责
2014/09/18 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
Python基础之数据结构详解
2021/04/28 Python