jQuery Cookie

Cookie 是保存在浏览器端的小段键值对文本,常用于"记住登录状态、用户偏好"等需求。原生 document.cookie 读写繁琐,还要自己拼串、算过期时间;jQuery Cookie 插件把它封装成一行代码的 $.cookie() 方法,让 Cookie 操作像读写变量一样简单。

1. 引入插件

插件基于 jQuery,可下载 jquery.cookie.js 或直接引用 CDN:

<script src="https://example.com/jquery.min.js"></script>

说明:示例中的 https://example.com 地址为占位域名,实际使用请替换为官方 CDN 或本地文件路径。
<script src="https://example.com/jquery.cookie.min.js"></script>

2. 写入 Cookie

$.cookie(名称, 值, 选项):

$.cookie("username", "example", { expires: 7, path: "/" });
// 效果:写入 username=example 的 Cookie,7 天后过期,全站路径生效

3. 读取与删除

读取用 $.cookie(名称),删除用 $.removeCookie(名称, 选项):

var name = $.cookie("username");   // 不存在时返回 null
console.log(name);                 // 输出:example

$.removeCookie("username", { path: "/" });   // 删除成功返回 true
// 效果:开发者工具 Application→Cookies 中该记录被清除

4. 常用选项

选项说明
expires过期天数(数字)或 Date 对象;不写则关闭浏览器即失效
path生效路径,默认当前路径,全站用 "/"
domain生效域名,跨子域共享时设置
securetrue 时仅在 HTTPS 下传输

注意:删除 Cookie 时必须与写入时使用相同的 path/domain,否则删不掉。

5. 实战:记住用户名

$("#login").submit(function () {
  if ($("#remember").prop("checked")) {
    $.cookie("username", $("#user").val(), { expires: 30, path: "/" });
  }
  return true;
});

// 页面加载时回填:
var saved = $.cookie("username");
if (saved) { $("#user").val(saved); }
// 效果:勾选"记住我"登录后,30 天内再次打开页面自动回填用户名

6. 使用边界

  • Cookie 体积上限约 4KB,且明文保存在客户端,不能存放密码等敏感信息;
  • 每次 HTTP 请求都会自动携带 Cookie,适合做登录态,但别用它存大数据;
  • 纯前端偏好数据可考虑 localStorage,不过 Cookie 仍是服务端会话的主流载体。

小结

$.cookie() 一行完成 Cookie 的读、写、删,配合 expires/path 即可实现"记住我"等经典需求;牢记删除需与写入同 path、容量小且明文,敏感数据交给服务端处理。

笔记加载中…