当前位置:首页 > JavaScript

js实现cookies

2026-03-14 12:05:54JavaScript

如何在JavaScript中操作Cookies

设置Cookie

使用document.cookie属性设置Cookie,可以指定名称、值、过期时间、路径和域。例如设置一个名为username的Cookie,有效期为7天:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";

动态设置过期时间可以使用Date对象:

const date = new Date();
date.setTime(date.getTime() + (7 * 24 * 60 * 60 * 1000));
document.cookie = `username=John Doe; expires=${date.toUTCString()}; path=/`;

获取Cookie

通过document.cookie获取所有Cookie,返回一个字符串,包含所有Cookie的名称和值。需要解析该字符串来获取特定Cookie:

function getCookie(name) {
  const cookies = document.cookie.split(';');
  for (let cookie of cookies) {
    const [cookieName, cookieValue] = cookie.trim().split('=');
    if (cookieName === name) {
      return decodeURIComponent(cookieValue);
    }
  }
  return null;
}

console.log(getCookie('username'));

删除Cookie

通过设置Cookie的过期时间为过去的时间来删除Cookie:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

设置Cookie的Secure和HttpOnly属性

为了增强安全性,可以设置SecureHttpOnly属性:

document.cookie = "username=John Doe; Secure; HttpOnly; path=/";
  • Secure:仅通过HTTPS传输Cookie。
  • HttpOnly:防止JavaScript访问Cookie,减少XSS攻击风险。

使用第三方库简化操作

如果需要更复杂的Cookie操作,可以使用第三方库如js-cookie

// 使用js-cookie库
Cookies.set('username', 'John Doe', { expires: 7, path: '/' });
const username = Cookies.get('username');
Cookies.remove('username');

安装js-cookie库:

npm install js-cookie

或在HTML中直接引入:

js实现cookies

<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script>

注意事项

  • Cookie有大小限制(通常4KB),不适合存储大量数据。
  • 过多的Cookie会影响性能,因为每次请求都会携带Cookie。
  • 敏感数据不应存储在Cookie中,应考虑使用localStoragesessionStorage

通过以上方法,可以在JavaScript中有效地操作Cookie,实现用户数据的持久化存储。

标签: jscookies
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…