JavaScript实现Cookie的增删改查操作
js操作cookie js操作cookie是一个封装好的js对象函数,用于对cookie的增删改查。下面对其进行详细的解释和分析: **Cookie的概念** Cookie是指存储在客户端的文本文件,用于存储用户的信息,以便服务器在用户下一次访问时可以识别用户。Cookie由服务器生成,并通过HTTP头信息传递给客户端浏览器,浏览器将其存储在本地。Cookie的主要特点是它可以跨多个会话保持用户的信息。 **js操作cookie对象的方法** js操作cookie对象提供了四个方法:addCookie、getCookie、delCookie和setCookie。下面对每个方法进行详细的解释: **addCookie方法** addCookie方法用于添加一个新的cookie,参数包括objName、objValue和objHours。objName是cookie的名称,objValue是cookie的值,objHours是cookie的生命周期。objHours如果大于0,表示cookie的生命周期是objHours小时,如果小于或等于0,表示cookie的生命周期是会话级别的。方法内部使用escape函数对objValue进行编码,并将其与objName组合成一个字符串,然后将其添加到document.cookie中。 **getCookie方法** getCookie方法用于获取一个cookie的值,参数包括objName。方法内部使用document.cookie.split(";")将cookie字符串分割成一个数组,然后遍历数组,通过比较objName与每个cookie的名称来获取对应的cookie值,并使用unescape函数对其进行解码。 **delCookie方法** delCookie方法用于删除一个cookie,参数包括name。方法内部使用getCookie方法获取对应的cookie值,然后将其删除。 **setCookie方法** setCookie方法用于设置一个cookie的值,参数包括name和value。方法内部使用new Date()生成一个新的日期对象,然后将其设置为30天后的日期,将cookie的生命周期设置为30天。最后将cookie的名称、值和生命周期组合成一个字符串,并将其添加到document.cookie中。 **js操作cookie对象的应用** js操作cookie对象可以应用于各种场景,例如: * 记录用户的登录信息,以便下一次访问时自动登录 * 记录用户的浏览记录,以便提供个性化的服务 * 实现购物车功能,以便记录用户的购买记录 js操作cookie对象提供了一个便捷的方式来操作cookie,使得开发者可以更方便地使用cookie来存储用户的信息。
"comparePdt":"YTTX_COMPDT",
"addCookie":function(objName,objValue,objHours){//添加cookie objHours=720(保存30天)
var str = objName + "=" + escape(objValue);
if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objHours*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
},
"getCookie":function(objName){//获取指定名称的cookie的值
var arrStr = document.cookie.split("; ");
for(var i = 0;i < arrStr.length;i ++){
var temp = arrStr[i].split("=");
if(temp[0] == objName) return unescape(temp[1]);
}
},
"delCookie":function(name){//删除cookie
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=this.getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
},
"setCookie":function(name,value){
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 14
- 资源: 21
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦