cookie的总结和封装

什么是cookie:会话跟踪技术
什么是会话session:用户进入网站 开始浏览到结束浏览的这样的一个过程 就称为一次会话
会话跟踪技术: 浏览器(B端)和服务器 之间在进行多次请求数据时,数据共享的过程 就称为 会话跟踪技术
cookie的生成过程: 打开浏览器—>输入网址—>回车—>域名解析—>访问服务器
—>返回主页—>将cookie存储在浏览器
用户要访问二级页面时,打开新的窗口,会自动判断上一个页面中
是否含有cookie,如果有,就将cookie数据带入到下一个页面

cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。
你可以把用户的登录名密码存储于cookie中,就可以实现自动登录。也可以用来保存购物车信息。
语法:
document.cookie = “键=值” 存
document.cookie 取
cookie 没有设置事件周期时,cookie的生命周期就是会话
生存周期 就是cookie数据在浏览器上保存的时间
document.cookie = “键=值;expires=标准时间格式”
cookie的删除

cookie不能直接删,需要侧面删除
两种方法:
1.将键对应的值设为空
2.expires="-1";
删除时,一般情况下,两种方法同时使用

Cookie的特点:
(1)cookie可能被禁用。
(2)cookie是与浏览器相关的。不同浏览器所保存的cookie也是不能互相访问的。
(3)cookie可能被用户删除。
(4)cookie安全性不够高。如果要保存用户名密码等信息时,最好事先经过加密处理。
(5)存储的数据量 4k 大小,cookie只支持存储string类型的数据。
(6)简单易用。
(7)信息存储于用户硬盘,因此可以作为全局变量。

function getCookie(key){
	let cookieStr=document.cookie;
	let cookieArr=cookieStr.split("; ");//拆分注意每两个cookie的分割符是分号+空格
	
	for(let i=0;i<cookieArr.length;i++){ //遍历
		let item=cookieArr[i].split("=");  //再从=开始拆
		
		if(key==item[0]){  //判断
			return item[1];
		}
	}
	return "";
}


function setCookie(key,value,day){
	let date =new Date();
	date.setDate(date.getDate()+day);
	document.cookie=key+"="+value+";expires="+date;	//设置生命周期
}

function delCookie(key){
	setCookie(key,"",-1);//删除cookie
}
//delCookie("name");
//delCookie("pwd");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到读写 Cookie 时,可以使用以下方法进行封装: 1. 设置 Cookie:使用`document.cookie`属性来设置 Cookie。通过传递参数来设置 Cookie 的名称、值以及其他可选的属性(例如过期时间、路径等)。封装一个函数如下: ```javascript function setCookie(name, value, days, path) { let expires = ""; if (days) { let date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=" + (path || "/"); } ``` 使用示例: ```javascript setCookie("username", "John Doe", 7); // 设置一个名为 "username" 的 Cookie,有效期为7天 ``` 2. 获取 Cookie:使用`document.cookie`属性来获取所有的 Cookie,然后解析出指定名称的 Cookie 值。封装一个函数如下: ```javascript function getCookie(name) { let cookieArr = document.cookie.split("; "); for (let i = 0; i < cookieArr.length; i++) { let cookiePair = cookieArr[i].split("="); if (name === cookiePair[0]) { return decodeURIComponent(cookiePair[1]); } } return null; } ``` 使用示例: ```javascript let username = getCookie("username"); // 获取名为 "username" 的 Cookie 值 ``` 3. 删除 Cookie:通过设置 Cookie 的过期时间为过去的时间来删除 Cookie封装一个函数如下: ```javascript function deleteCookie(name) { document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; } ``` 使用示例: ```javascript deleteCookie("username"); // 删除名为 "username" 的 Cookie ``` 这样,你可以封装这些函数,以便在需要的时候方便地操作 Cookie

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值