Cookie 基础概念与 JavaScript/jQuery 实现详解
本文深入解析 Cookie 作为浏览器存储机制的原理及其在登录状态保持、用户行为跟踪和页面定制中的应用。详细对比了 JavaScript 原生操作 Cookie 的方法(设置、获取、删除)与 jQuery Cookie 插件的使用方式,通过具体代码示例展示如何管理过期时间、路径及域名,帮助开发者高效实现 Web 端数据持久化。
Cookie 的基本定义
Cookie 的基本定义
---------------------------------------------------
Cookie 是浏览器提供的一种机制,它将 document 对象的 cookie 属性提供给 JavaScript。可以由 JavaScript 对其进行控制,而并不是 JavaScript 本身的性质。Cookie 是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个 Cookie 可用。因此,Cookie 可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
Cookie 的应用场景
Cookie 的应用场景
---------------------------------------------------
(1)保存用户登录状态。例如将用户 id 存储于一个 cookie 内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。Cookie 还可以设置过期时间,当超过时间期限后,cookie 就会自动消失。因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个月、一年等。
(2)跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 Cookie 后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后台完成,所以这样的页面就像为某个用户所定制的一样,使用起来非常方便。
(3)定制页面。如果网站提供了换肤或更换布局的功能,那么可以使用 Cookie 来记录用户的选项,例如:背景色、分辨率等。当用户下次访问时,仍然可以保存上一次访问的界面风格。 Cookie 的用法
---------------------------------------------------
JavaScript 与 jQuery 实现方式
JS 方式:
function setCookie(sName, sValue, oExpires, sPath, sDomain, bSecure) { //js设置cookie
var sCookie = sName + '=' + encodeURIComponent(sValue);
if (oExpires) {
var date = new Date();
date.setTime(date.getTime() + oExpires * 60 * 60 * 1000);
sCookie += '; expires=' + date.toUTCString();
}
if (sPath) {
sCookie += '; path=' + sPath;
if (sDomain) {
sCookie += '; domain=' + sDomain;
}
if (bSecure) {
sCookie += '; secure';
}
document.cookie = sCookie;
}
function getCookie(name){ //获取cookie
var strCookie=document.cookie;
var arrCookie=strCookie.split("; ");
for(var i=0;i<arrCookie.length;i++){
var arr=arrCookie[i].split("=");
if(arr[0]==name){
return decodeURIComponent(arr[1]);
}
}
return "";
}
function delCookie(name){//删除cookie
// 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间;
//剩下就交给操作系统适当时间清理cookie啦
if (getCookie(name))
{
document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
jQuery 插件方式:
jQuery 官网 http://plugins.jquery.com/ 搜索 Cookie 插件,几 k 的大小,使用非常方便:
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></script>
在引入以上库文件后,使用方式如下:
<script>
$.cookie('the_cookie'); //读取Cookie值
$.cookie('the_cookie', 'the_value'); //设置cookie的值
$.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});//新建一个cookie 包括有效期 路径 域名等
$.cookie('the_cookie', 'the_value'); //新建cookie
$.cookie('the_cookie', null); //删除一个cookie
</script>
以上这篇关于 Cookie 的初识和运用 (js 和 jq) 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
为什么JS中typeof []返回object:数组类型检测误区解析
2026-11-04 19:50:47
