js 操作 cookie 的方法

cookie
cookie,有时候也用其复数形式Cookies,指某些网站为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据(经常通过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265。
cookie的作用
服务器可以利用Cookie包含信息的任意性来筛选经常性维护这些信息,以判断在HTTP传输中的状态。Cookie最典型的英语是判断注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录步骤,浙西都是Cookie的功能。另一个重要张合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookie,以便在最后付款时提取信息。
js设置cookie
document.cookie="key=value"; //例 document.cookie="name=weiqi"; //可以在控制台中打印出cookie console.log(document.cookie);
如何修改和获取cookie
js中并没有提供获取cookie的方法,所以只能自己封装方法,相同的key的cookie只能存在一个,如果定义了一个document.cookie="age=21",后面又定义了document.cookie="age=30",那么后面定义的cookie会覆盖前面定义的cookie,所以修改cookie值的时候只用重新定义个key相同的cookie就可以了。那么获取cookie的时候也只用在cookie中获取到这个key后面的“=”和“;”直接的字符串,那就是这个cookie的值了,获取的方法又很多种,这里我写一种比较简单的:
function getCookie(key){
var index = document.cookie.indexOf(key);
var returnValue;
if(index!==-1){
var tIndex = document.cookie.indexOf(";",index);
var target = document.cookie.substring(index,tIndex);
var returnValue = decodeURIComponent(target.replace(key+"=",""))
}
return returnValue;
}
document.cookie="name=weiqi";
getCookie("name"); //weiqi
删除cookie
cookie是有有效期的,前面我们设置cookie的时候都没有设置有效期,如果我们将cookie的有效期设置成一个已经过去的时间,那么它就无效了,下面来实现一下:
function delCookie(key){
var d = new Date();
document.cookie=key+"=;expires="+ d.toGMTString();
}
document.cookie="name=weiqi";
delCookie("name"); //undefined
给cookie设置一个有效期
通过expires给cookie设置一个有效期,现在我们设置一个cookie的有效期是10天,如下:
var d = new Date(); var time = 10; d.setTime(d.getTime()+time*1000*60*60*24); document.cookie="name=weiqi;expires="+ d.toGMTString();
封装cookie
将自定义的一些方法完善一下封装成一个对象,这样在使用的时候就可以直接拿来用了:
//封装cookie方法的对象
var cookie = {
setCookie:function(key,value,time){
if(key == undefined){
return;
}
if(time!== undefined){
var d = new Date();
d.setTime(d.getTime()+time*1000*60*60*24);
document.cookie=key+"="+value+";expires="+ d.toGMTString();
}else{
document.cookie=key+"="+value;
}
},
getCookie:function(key){
var index = document.cookie.indexOf(key);
var returnValue;
if(index!==-1){
var tIndex = document.cookie.indexOf(";",index);
var target = document.cookie.substring(index,tIndex);
var returnValue = decodeURIComponent(target.replace(key+"=",""))
}
return returnValue;
},
delCookie:function(key){
var d = new Date();
document.cookie=key+"=;expires="+ d.toGMTString();
}
}
//测试
cookie.setCookie("home")
cookie.setCookie("name","卫旗");
cookie.setCookie("age",22);
cookie.setCookie("sex","男")
cookie.getCookie("sex")
cookie.delCookie("age")
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# js
# 操作
# cookie
# Javascript
# cookie操作方法
# JS实现Cookie读、写、删除操作工具类示例
# javascript 中Cookie读、写与删除操作
# javascript 操作cookies详解及实例
# javascript操作cookie
# JS中对Cookie的操作详解
# JS封装cookie操作函数实例(设置、读取、删除)
# javascript操作Cookie(设置、读取、删除)方法详解
# js中的cookie的读写操作示例详解
# JS操作Cookie写入和读取实例代码
# JS操作Cookies包括(读取添加与删除)
# JavaScript实现cookie的操作
# 就可以
# 都是
# 是有
# 会在
# 用了
# 希望能
# 注册用户
# 自定义
# 英语
# 购物车
# 都已
# 谢谢大家
# 它就
# 用在
# 来实现
# 我写
# 可以利用
# 也用
# 设置成
# 最典型
相关文章:
电商网站制作价格怎么算,网上拍卖流程以及规则?
定制建站价位费用解析与套餐推荐全攻略
广州商城建站系统开发成本与周期如何控制?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
,想在网上投简历,哪几个网站比较好?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
,怎么在广州志愿者网站注册?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
TestNG的testng.xml配置文件怎么写
C++中引用和指针有什么区别?(代码说明)
制作网站的软件免费下载,免费制作app哪个平台好?
香港服务器选型指南:免备案配置与高效建站方案解析
如何在IIS7中新建站点?详细步骤解析
如何在IIS服务器上快速部署高效网站?
广州建站公司哪家好?十大优质服务商推荐
学校免费自助建站系统:智能生成+拖拽设计+多端适配
c# 在高并发场景下,委托和接口调用的性能对比
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
北京网站制作的公司有哪些,北京白云观官方网站?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
个人网站制作流程图片大全,个人网站如何注销?
临沂网站制作公司有哪些,临沂第四中学官网?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
建站之星如何快速更换网站模板?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何通过建站之星自助学习解决操作问题?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
北京网站制作网页,网站升级改版需要多久?
个人摄影网站制作流程,摄影爱好者都去什么网站?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
如何生成腾讯云建站专用兑换码?
nginx修改上传文件大小限制的方法
建站主机类型有哪些?如何正确选型
在线制作视频网站免费,都有哪些好的动漫网站?
建站之星24小时客服电话如何获取?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
建站之星如何实现网站加密操作?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何在Golang中指定模块版本_使用go.mod控制版本号
如何快速启动建站代理加盟业务?
如何在景安服务器上快速搭建个人网站?
如何在建站宝盒中设置产品搜索功能?
如何用花生壳三步快速搭建专属网站?
微课制作网站有哪些,微课网怎么进?
*请认真填写需求信息,我们会在24小时内与您取得联系。