标签:路径 指定 location day 客户端 dex dom indexof round
cookie: 会话跟踪技术 客户端
session: 会话跟踪技术 服务端
cookie作用:
将页面的数据保存到浏览器中
cookie生命周期:
一次会话:打开浏览器到关闭浏览器
如果通过expires=设置了过期时间,并且过期时间没有过期,那么下一次打开浏览器还会存在
cookie注意点:
cookie 默认不会保存任何的数据
cookie 不能一次性设置多条数据,想保存多条数据,只能一条一条设置
coolie 有大小和个数的限制
个数:20~50
大小:4kB 左右
cookie作用范围:
同一个浏览器的同一个路径下访问
如果在同一个浏览器中,默认情况下下一级路径就可以访问
如果在同一个浏览器中,想让上一级目录也能访问保存的cookie,那么需要document.cookie="name=ze;path=/;";
如果在 www.it666.com下面保存了一个cookie,那么我们在edu.it666.com
是无法访问的,要想访问 document.cookie="name=zs;path=/;domain=it666.com;";
封装 cookie 添加,查询,删除:
//添加cookie
function addCoikie(key, value, day, path, domain) { //1.处理默认保存的路径 var index = window.location.pathname.lastIndexOf("/"); var currentPath = window.location.pathname.slice(0, index); path = path || currentPath; //2.处理默认保存的domain domain = domain || document.domain; //3.处理默认的过期时间 if(!day) { document.cookie = key+"="+value+";path="+path+";domain="+domain+";"; }else { var date = new Date(); date.setDate(date.getDate() + day); document.cookie = key+"="+value+";expires="+date.toGMTString()+";path="+path+";domain="+domain+";"; } }
addCoikie("score","998",1,"/","127.0.0.1");
//查询cookie function getCookie(key) { var res = document.cookie.split(";"); for(var i = 0; i < res.length; i++) { var temp = res[i].split("="); if(temp[0].trim() === key) { return temp[1]; } } } console.log(getCookie("name"));
//删除cookie
//默认情况下只能删除默认路径中保存的cookie, // 如果想删除指定路径保存的cookie, 那么必须在删除的时候指定路径才可以 function delCookie(key, path) { addCoikie(key, getCookie(key), -1, path); } delCookie("score", "/");
window.location.hash = 3;
console.log(window.location.hash.substring(1)); //3
标签:路径 指定 location day 客户端 dex dom indexof round
原文地址:https://www.cnblogs.com/hjysunshine/p/12354388.html