封装 cookie 添加查询删除函数 hash

Posted hjysunshine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装 cookie 添加查询删除函数 hash相关的知识,希望对你有一定的参考价值。

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

以上是关于封装 cookie 添加查询删除函数 hash的主要内容,如果未能解决你的问题,请参考以下文章

聊聊一致性hash算法的原理

cookie设置获取移除函数的封装

js学习cookie封装之删除

Vue中封装设置、获取、删除Cookie方法

cookie的设置获取和删除封装

地址hash值分割处理函数