js 操作 cookie 实操

在这里插入图片描述
在这里插入图片描述

阅读本文您将收获

  • js 读取cookie操作
  • js 删除cookie操作

js读取cookie操作

  • 方法一
let acookie=document.cookie.split("; ");
	//获取单个cookies
getck:function(sname){
	for(let i=0;i<acookie.length;i++){
		let arr=acookie[i].split("=");
		if(sname==arr[0]){
			if(arr.length>1){
				return unescape(arr[1]);
			}else{
			return "";
			}
		}
	}
	return "";
}
  • 方法二
//获取指定名称的cookie的值
getcookie:function(objname) {
	let 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]);
		}
	}
}
  • 方法三
getcookie: function(cookiename) { 
	let cookiestring = document.cookie; 
	let start = cookiestring.indexof(cookiename + '='); 
	if (start == -1){   //找不到 
		return null; 
	}
	start += cookiename.length + 1; 
	let end = cookiestring.indexof(";", start); 
	if (end == -1){
	   return;
   }
   unescape(cookiestring.substring(start)); 
	return   
	unescape(cookiestring.substring(start, end)); 
}
  • 方法四
readcookie: function(name) {   
	let cookievalue = "";   
	let 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;  
		   } 
	       cookievalue = unescape(document.cookie.substring(offset, end))   
	    }   
	}   
	return cookievalue;   
}

js删除cookie

delCookie: function(name) {
	let exp = new Date();
	exp.setTime(exp.getTime() - 1);
	let cval=getCookie(name);
	if(cval!=null)
	document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用示例
setCookie("name","hayden");
alert(getCookie("name"));
//如果需要设定自定义过期时间
//那么把上面的setCookie 函数换成下面两个函数就ok;
//程序代码
setCookie:function(name,value,time) {
	let strsec = getsec(time);
	let exp = new Date();
	exp.setTime(exp.getTime() + strsec*1);
	document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
getsec:function(str) {
	alert(str);
	let str1=str.substring(1,str.length)*1;
	let str2=str.substring(0,1);
	if (str2=="s") {
		return str1*1000;
	}else if (str2=="h"){
		return str1*60*60*1000;
	}else if (str2=="d") {
		return str1*24*60*60*1000;
	}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
setCookie("name","hayden","s20");

在这里插入图片描述

往期好文

[万字长文]百度和好未来面试经含答案

[前端面试]前端缓存问题看这篇,让面试官爱上你

记一次惨痛的Vue-cli + VueX + SSR经历

[三分钟小文]前端性能优化-HTML、CSS、JS部分

[三分钟小文]前端性能优化-页面加载速度优化

[三分钟小文]前端性能优化-网络传输层优化

如有问题,请评论指正。如有其他需要,请关注公众号:全栈道路,并后台留言!
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值