web存储之cookie、localStorage、sessionStorage

原创 fremember 随笔 javascript 122阅读 2018-07-31 13:28:14 举报

一、cookie
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据,部分浏览器限制本地操作cookie的权限(如chrome)
1.不同的浏览器存放的cookie位置不一样,也是不能通用的
2.cookie的存储是以域名形式进行区分的
3.cookie的数据可以设置名字的
4.一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样
5.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样

注意:
1、我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,他包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来
2、如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期的时间,例如:document.cookie = '名称=值;expires=' + 字符串格式的时间;
3、cookie默认是临时存储的,当浏览器关闭进程的时候自动销毁

demo:
document.cookie = 'name=fre';// 设置cookie
document.cookie = 'age=28';// 设置cookie
console.log(document.cookie);// 获取cookie, name=fre, age=28
// 设置过期时间
var oDate = new Date();
oDate.setDate(oDate.getDate() + 5);// 设置时间为当前时间所在月的5天之后的那一天
document.cookie = 'name=fre;expires=' + oDate.toGMTString();
// 内容最好编码存放,encodeURI()进行编码,decodeURl()进行解码
document.cookie = 'name='+ encodeURI('fre\n你好') +';expires=' + oDate.toGMTString();

// 封装设置cookie方法
function setCookie(key, value, t) {
var oDate = new Date();
oDate.setDate(oDate. () + t);
document.cookie = key + '=' + value + ';expires=' + oDate.toGMTString();
}
// 封装按key读取cookie的方法
function getCookie(key) {
var arr1 = document.cookie.split('; ');
for(car i = 0; i < arr1.lrngth; i++) {
var arr2 = arr[i].split('=');
if(arr2[0] == key){
return decodeURL(arr2[1]);
}
}
}
// 封装删除cookie
function removeCookie(key) {
setCookie(key, '', -1);
}

二、localStorage

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复