本文详细介绍JavaScript中Cookie对象的用法,涵盖name、expires、path、domain及secure等核心属性。通过具体代码示例演示如何写入包含特殊字符编码的Cookie、读取解析Cookie字符串,以及通过设置过期时间删除Cookie,帮助开发者掌握Web存储基础。
JavaScript Cookie 概述
本文通过具体实例解析JavaScript中Cookie对象的使用方式,旨在为开发者提供参考。
Cookie 核心属性解析
属性
name是必须设置的唯一属性,用于定义Cookie的名称。expires用于指定Cookie的存活周期,若不设置,浏览器关闭时Cookie将自动失效。path决定Cookie在服务器上的可用性范围,通常同一目录下的所有页面均可访问;设置path后,Cookie仅对指定路径及其子路径下的网页有效。domain属性用于多服务器环境下共享Cookie,若Web服务器a需与服务器b共享Cookie,应将a的Cookie domain属性设为b,从而使a创建的Cookie能被a和b共同访问。secure属性通常配合以HTTPS开头的SSL网站使用,设置后Cookie仅能通过HTTPS或其他安全协议访问。Cookie本质上是字符串形式。一般情况下,Cookie不能包含分号、逗号、空格等特殊字符,但可通过编码传输,即将文本字符串中的专用字符转换为对应的十六进制ASCII值。可使用函数将文本字符转换为有效的URI,并使用函数进行解码。
写入Cookie
写入 Cookie 操作
var cookieTest ="name=userName";
document.cookie= cookieTest; //存入
//用分号分割不同属性
var date = newDate();
date.setDate(date.getDate()+7); //设置cookie的存活时间为一星期
document.cookie= encodeURI("name=user")+";expires="+date.toUTCString();
读取Cookie
读取 Cookie 操作
var cookieString= decodeURI(document.cookie);
var cookieArray= cookieString.split(";");
for(vari=0;i< cookieArray.length;i++){
var cookieNum = cookieArray[i].split("=");
var cookieName = cookieNum[0];
var cookieValue = cookieNum[1];
}
删除Cookie
删除 Cookie 操作
var date = newDate();
date.setTime(date.getTime()-10000);
document.cookie= "name=User;expires="+date.toGMTString;
//删除一个cookie就是将其过期时间设置为过去的一个时间值
希望本文所述内容能对大家的JavaScript程序设计有所帮助。