js Cookie总结

本文介绍了Cookie的基本概念及其在浏览器中如何实现跨页面数据共享。详细解释了Cookie的设置方法,包括键值对、有效期、路径及域等参数,并提供了实用的JavaScript函数来帮助设置和获取Cookie。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie

Cookie是保存在浏览器上的数据,浏览器在访问同一域名下的各个网页时会把这个域下的所有Cookie都发送给服务器,以达到在不同页面之间共享数据的效果。
默认情况下出于安全考虑只允许同一域名下同一文件夹下的所有文件共享Cookie,可以设置跨域,但最多也只能同一一级域名下的所有页面共享Cookie。
因为Cookie是保存在浏览器上的,所以Cookie只能识别一个浏览器。

Cookie的设置

Cookie通过键值对的方式存储数据
//添加一条Cookie记录
document.cookie="key=value;expires=exp;path=/;domain=siteDomain";
key和value表示键值数据必须有,其他数据则都是可选的。
expires 是Cookie过期的时间,使用Data类的toUTCString()形式进行设置
path表示Cookie所处的路径若要跨路径可设置为“/”,domain表示Cookie所处的域至少设置为一级域名
若要添加另一条Cookie记录,再次设置document.cookie就行,例如
document.cookie="key2=value;expires=exp;path=/;domain=siteDomain";
以下函数可以设置Cookie信息
function setCookie(key, value, exp, path, domain){
    var data = key + "=" + value;
    document.cookie="key=value;expires=exp;path=URLpath;domain=siteDomain";
    if(exp){
        data = data + ";expires=" + exp;
    }
    
    if(path){
        data = data + ";path=" + path;
    }
    
    if(domain){
        data = data + ";domain=" + domain;
    }
    document.cookie = data;
}
//使用:
var date = new Date();
date.setMonth(date.getMonth() + 6);
setCookie("key", "value", date.toUTCString(), "/");

Cookie的读取

document.cookie属性保存着所有Cookie的键值数据,例如有两条Cookie数据
"k1=v1;path=/"
"k2=v2;path=/"
则读取document.cookie属性为“k1=v1; k2=v2"(不同的键值对之间用"; "分号加一个空格分隔)
以下函数可以读取某条Cookie的值
function getCookie(key){
    var arr = document.cookie.split("; ");
    for(var i = 0; i < arr.length; ++i){
        var kv = arr[i].split("=");
        if(kv[0] == key){
            return kv[1];
        }
    }
    return null;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值