JS基础摘录23---cookie
cookie
cookie : 浏览器存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问者电脑上存储数据
1.不同的浏览器存放的cookie位置不一样,也是 不能通用的2.cookie的存储是以 域名形式进行区分的3.cookie的数据可以设置名字的4.一个域名下存放的cookie的个数是有限制的, 不同的浏览器存放的个数不一样5.每个cookie存放的内容大小也是有限制的, 不同的浏览器存放大小不一样
1、访问cookie
要在服务器环境下
我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,他包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来
consol.log( document.cookie );
2.存储cookie
document.cookie = '数据名=值';
3.设置cookie过期时间
cookie 默认是临时存储的,当浏览器关闭进程的时候自动销毁 ,如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期的时间
过期时间必须是一个日期对象转换成的字符串(时间戳.toGMTString())
document.cookie = ‘数据名=值; expires=过期时间’;
1 var oDate = new Date(); 2 oDate.setDate( oDate.getDate() + 5); 3 4 oDate.toGMTString();//转换为日期字符串 5 document.cookie='age=20; expires='+oDate; 6 7 /*-- document.cookie='sex=man\n你好'; */ 8 //转码 9 10 document.cookie='sex='+content+';expires='+oDate;
4.cookie封装
- 设置cookie封装
function setCookie(obj,time){ for(key in obj){ var d = new Date(); d.setDate( d.getDate()+time ); document.cookie = key+'='+obj[key]+'; expires='+d.toUTCString(); }}
setCookie({ name:'hello', sex:'man', love:'逛街', work:'future' },5);
- 获取cookie封装
function getCookie(obj){ var cookie = document.cookie; // name=hello; var result = {}; for(key in arguments){ var val = '\\b'+arguments[key]+'=[^;]+'; var reg =new RegExp(val,'i'); val = reg.exec(cookie); result[arguments[key]] = val? decodeURI(val[1]):null; }return result;}console.log( getCookie('age','name') );
- 移除cookie
function removeCookie(){ for(key in arguments){ var json ={}; json[arguments[key]]=null; setCookie(json,-1); }}removeCookie('name');