cookie小总结
程序员文章站
2022-09-13 23:34:41
对cookie总结 cookie 在服务器的环境下,对数据的本地存储下面为一个小小的案例 cookie本身就是一串字符串,格式为键值对,常用在本地身份验证,作免登陆 cookie的读取每次都是全部获取,所以在读取的时候需要自己解析cookie代码,获得需要的代码 cookie没法直接删除,但可以设置 ......
cookie
cookie
在服务器的环境下,对数据的本地存储下面为一个小小的案例
let d= new date; d.setdate(d.getdate()+7); document.cookie="username=jzm;expires="+d.togmtstring();
cookie本身就是一串字符串,格式为键值对,常用在本地身份验证,作免登陆
cookie的读取
cookie的读取每次都是全部获取,所以在读取的时候需要自己解析cookie代码,获得需要的代码
cookie删除
cookie没法直接删除,但可以设置失效时间 ,将设置的时间设置为过去
cookie的特殊点
document.cookie="username=zhang;expires="+date.togmtstring();
这样的写法会给原键值对后面添加而不是覆盖
添加与覆盖
浏览器用cookie键名来区别cookie,添加不同名称的cookie会一直续在前一个cookie后,同名的cookie会被覆盖
expires,path和domain
expires指cookie失效时间
path指保存的cookie可被访问的html路径
domain表示主机指定可访问cookie的主机名。
path:表示保存的 cookie数据在 那个路径下的html文件中可以访问默认为当前目录下的所有html及子目录下html
path=/temp; 表示根目录下的temp路径
domain=163.com;表示可被163.com域名访问
expires=gmtstring;失效时间的设置
中文和特殊字符处理
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串--把汉字变成百分号编码
unescape()解码
封装
//添加(修改)cookie //参数: // 键 // 值 // 有效期(以天为单位) function savecookie(key,value,daycount) { let d = new date(); d.setdate(d.getdate()+daycount); //escape:编码,把汉字变成百分号编码 document.cookie = key+'='+escape(value)+';expires='+d.togmtstring(); } //获取cookie //参数: //键 //返回值:键对应的值 function getcookie(key){ //unescape:解码:把百分号编码变成汉字 let str= unescape(document.cookie); let arr = str.split("; "); for(let i in arr){ if(arr[i].startswith(key+"=")){ return arr[i].split("=")[1]; } } return null; } //删除cookie //参数: //键 function removecookie(key){ savecookie(key,'byebye',-1) }
下一篇: 责任链模式