首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js操作本地cookie

JavaScript 操作本地 Cookie 是一种常见的客户端存储数据的方式。Cookie 是由服务器发送到用户浏览器并保存在用户本地终端上的数据,它可以用于记录用户信息、跟踪用户行为等。

基础概念

Cookie 是一小段文本信息,通常由键值对组成,可以通过 HTTP 头部信息发送给浏览器,并由浏览器保存在用户的设备上。每个 Cookie 都有一个名称(name)、一个值(value)和一组可选的属性,如过期时间(expires)、路径(path)、域(domain)和安全标志(secure)等。

优势

  1. 持久性:通过设置过期时间,Cookie 可以在浏览器关闭后仍然保留。
  2. 跨页面共享:同一域名下的所有页面都可以访问相同的 Cookie。
  3. 跟踪用户行为:可以用来记录用户的浏览习惯和偏好。

类型

  • 会话 Cookie:不设置过期时间,浏览器关闭后即消失。
  • 持久 Cookie:设置了过期时间,即使浏览器关闭也会保留。

应用场景

  • 用户身份验证:保存用户的登录状态。
  • 个性化体验:根据用户偏好调整网站内容。
  • 购物车功能:在电商网站中保存用户选择的商品。

操作方法

设置 Cookie

代码语言:txt
复制
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

读取 Cookie

代码语言:txt
复制
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i].trim();
    if (cookie.indexOf("username=") == 0) {
        var username = cookie.substring("username=".length, cookie.length);
    }
}

删除 Cookie

代码语言:txt
复制
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

常见问题及解决方法

1. Cookie 无法设置或读取

原因:可能是由于路径(path)或域(domain)设置不正确,或者浏览器设置了阻止第三方 Cookie 的策略。

解决方法:确保路径和域设置正确,并检查浏览器的隐私设置。

2. Cookie 大小限制

原因:浏览器对单个 Cookie 的大小有限制,通常为 4KB。

解决方法:避免存储大量数据在单个 Cookie 中,可以考虑使用多个小 Cookie 或者使用其他存储方式,如 localStorage 或 sessionStorage。

3. 安全问题

原因:Cookie 可能会被恶意脚本利用,造成安全风险。

解决方法:设置 secure 属性确保 Cookie 只通过 HTTPS 协议传输,设置 HttpOnly 属性防止 JavaScript 访问 Cookie,减少 XSS 攻击的风险。

示例代码

代码语言:txt
复制
// 设置一个安全的 Cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/; secure; HttpOnly";

// 读取 Cookie
function getCookie(name) {
    var value = "; " + document.cookie;
    var parts = value.split("; " + name + "=");
    if (parts.length == 2) return parts.pop().split(";").shift();
}

var username = getCookie("username");
console.log(username);

// 删除 Cookie
function deleteCookie(name) {
    document.cookie = name + '=; Max-Age=-99999999;';
}

deleteCookie("username");

通过以上方法,可以有效地操作和管理本地 Cookie。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JS操作cookie

类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。...二、 操作cookie 大致了解cookie后,发现cookie其实挺重要的,例如项目里面前后端交互,很多就是使用cookie来进行校验的。...此时我们可以在 util 下新建 cookie.js 文件。 2. 设置cookie 这类使用场景较多,例如登录或将部分信息存储到cookie等场景都会用到。...清除cookie 在进行退出登录等操作时,一般我们需要将 cookie 进行清除,操作比较简单,接收到要清除的 cookie 名后操作即可,如下: // 清除cookie export function...引入挂载 在 main.js 中操作: // ... import Vue from 'vue' // 引入 import { setCookie, getCookie, checkCookie, clearCookie

9.9K30
  • JS-Cookie操作

    类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。...此时我们可以在 util 下新建 cookie.js 文件。 2. 设置cookie 这类使用场景较多,例如登录或将部分信息存储到cookie等场景都会用到。...清除cookie 在进行退出登录等操作时,一般我们需要将 cookie 进行清除,操作比较简单,接收到要清除的 cookie 名后操作即可,如下: // 清除cookie export function...引入挂载 在 main.js 中操作: // ... import Vue from 'vue' // 引入 import { setCookie, getCookie, checkCookie, clearCookie...总结下: 新建 cookie.js 文件 写几个操作 cookie 方法,模块打出 全局引入(main.js 挂载到 Vue)上,或者在组件中局部引入 在合适的场景下合理调用即可。

    6.6K10

    web_js操作cookie

    一、cookie概念 w3school: cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人资料信息。 js的角度: cookie 就是一些字符串信息。...三、基础用法 1、cookie的存取操作   document.cookie = 'myname=myvalue' 'myname’表示 cookie 名称,'myvalue’表示这个名称对应的值。...2、cookie的读取操作 function getCookie(c_name){     if (document.cookie.length>0){  //先查询cookie是否为空,为空就return..._date.setDate(_date.getDate()+30); _date.toGMTString(); 通过new生成一个Date的实例,得到当前的时间; getDate()方法得到当前本地月份中的某一天...,接着加上30就是我希望这个cookie能过在本地保存30天; 接着通过setDate()方法来设置时间; 最后 用toGMTString()方法把Date对象转换为字符串,并返回结果 通过下面这个完整的函数来说明在创建

    4.2K30

    js对cookie的操作

    cookie是网站为了标识用户身份而存储在用户本地终端上的数据,一般这些数据都会进行加密,以防止数据篡改而造成用户信息泄露。...对cookie不仅浏览器端可以进行操作,服务器端也可以进行操作,在这里只说一下浏览器端对于cookie的存取及删除操作。...添加cookie 在说操作之前,首先需要了解一下cookie是如何存储的,我们随便打开一个网站,在控制台输入document.cookie ?...了解了存储方式,我们就可以进行set操作了: let setCookie=(key, value, days) =>{ let now = new Date(); let expires...获取cookie值 上面已经说过了document中存储cookie的形式了,而且过期的cookie不会出现在document.cookie中,这样我们在获取的时候只需要将其进行格式化即可: let getCookie

    6.7K30

    Selenium提高:JS操作和cookie处理

    调用JavaScript: 执行JS一般由两种场景: 一种是在页面上直接执行JS 另一种是在某个已经定位的元素上执行JS 隐藏百度一下按钮: 弹出新窗口的情况: 在编写自动化程序的时候,会遇到弹出新窗口的情况...控制浏览器滚动条: 百度滚动条: Cookie处理 添加一个cookie:遍历所有cookie 输出结果: 获取对象的属性: 验证码问题: 对于web应用来说...记录cookie: 通过向浏览器添加cookie可以绕过登录的验证码,这是很有趣的一种解决方案。...使用cookie进行登录的难点,是如何获得用户名和密码的name,如果找不到name,就没办法继续操作。可以通过get_cookies()来获取登录的cookie信息。...滑块模拟拖动: 可使用之前说的操作鼠标事件的方法,actionchines来进行滑块拖动操作,这个不详细说了,可以看我关于滑块的文章 https://blog.csdn.net/weixin_43582101

    3.2K20

    js中的操作cookie的方法

    document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/"; 02 原生js操作cookie...在 JavaScript 中, 可以使用以下代码来读取 cookie: var x = document.cookie; cookie 的操作,添加,修改,删除等,没有提供对应的方法,需要自己去处理document.cookie...> 下面我们来看下使用jQuery Cookie是如何操作Cookie的: //创建一个Cookie,属性默认 $.cookie('password', '123456'); //创建一个Cookie,.../npm/js-cookie@rc/dist/js.cookie.min.js"> 注:引入JS文件后,可以直接使用 之后我们就可以直接使用js-cookie提供的一个Cookie对象...,其中提供了许多操作Cookie的方法: //创建一个Cookie,属性默认 Cookies.set('password', '123456'); //创建一个Cookie,设置属性:有效天数,path

    5.2K40

    前端 js 操作 Cookie 详细介绍与案例

    过期时间:Cookie可以设置一个过期时间,以指定Cookie的有效期限。一旦超过该时间,浏览器将不再发送该Cookie。...1.2 Cookie的工作流程服务器发送一个包含Cookie的HTTP响应头给浏览器,响应头中包含了名称、值和其他相关信息。浏览器接收到响应后,会将Cookie存储在本地的Cookie存储中。...当浏览器向同一域名下的服务器发送后续请求时,会自动附加存储在本地的Cookie信息到请求的HTTP头中。服务器接收到请求后,可以读取Cookie中的值并根据需要做出相应的处理。...定期审查和清理Cookie:定期审查应用程序中使用的Cookie,确保不再需要的Cookie及时删除。及时清理无效或过期的Cookie,减少不必要的风险。...3 实战操作3.1 设置 Cookiefunction setCookie(name, value, expires, path, domain, secure) { let cookieString

    65400
    领券