JavaScript数据存储 Cookie篇

下面是JavaScript数据存储之Cookie篇的完整攻略。

什么是Cookie

Cookie 是一种在客户端存储数据的机制,通过浏览器将数据存储在用户的计算机上。Cookie 通常由 Web 服务器生成,以便服务器可以记住用户的状态,从而改善用户对网站的体验。

Cookie 的属性

Cookie 有以下几个属性:

  • 名称:Cookie 的名称。
  • :Cookie 存储的数据。
  • 过期时间:Cookie 的有效期。
  • 路径:指定该 Cookie 的 URL 路径。
  • :指定可以访问该 Cookie 的域名。

创建Cookie

在 JavaScript 中使用 document.cookie 属性就可以操作 Cookie。

// 设置 cookie
document.cookie = "name=value;expires=date;path=path;domain=domain;secure";

设置 Cookie 时需要提供一个 name=value 的值对,expires 为可选参数,用于指定 Cookie 的过期时间,格式为 GMTString

示例:

// 设置一个过期时间为1天的Cookie
let d = new Date();
d.setTime(d.getTime() + (1 * 24 * 60 * 60 * 1000));
const expires = "expires=" + d.toGMTString();
document.cookie = "username=John Doe;" + expires + ";path=/";

获取Cookie

使用 document.cookie 属性获取所有的 Cookie。

// 获取所有 Cookie
const cookie = document.cookie;

获取指定名称的 Cookie。

// 获取名称为 username 的 Cookie
function getCookie(name) {
  const value = "; " + document.cookie;
  const parts = value.split("; " + name + "=");
  if (parts.length === 2) {
    return parts.pop().split(";").shift();
  }
}

删除Cookie

要删除 Cookie,只需将其值设置为空,并将其过期时间设置为过去(可以使用任何过去的日期)。

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

示例

设置和获取 Cookie 的示例:

// 设置 Cookie
document.cookie = "username=John Doe";

// 获取 Cookie
const cookie = document.cookie;
console.log(cookie); // "username=John Doe"

// 获取指定名称的 Cookie
function getCookie(name) {
  const value = "; " + document.cookie;
  const parts = value.split("; " + name + "=");
  if (parts.length === 2) {
    return parts.pop().split(";").shift();
  }
}
const username = getCookie("username");
console.log(username); // "John Doe"

删除 Cookie 的示例:

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

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript数据存储 Cookie篇 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • yii form 表单提交之前JS在提交按钮的验证方法

    当我们在 Yii 的视图中使用表单时,我们可能需要对用户输入的数据进行验证,以确保它们符合我们的要求。为了达到这个目的,我们可以使用客户端 JavaScript 在提交表单之前对数据进行验证。下面是如何在 Yii 框架中使用 JavaScript 在提交按钮的验证方法之前进行表单验证的详细攻略: 步骤1:在视图中创建表单 首先,我们需要在 Yii 的视图中创…

    JavaScript 2023年6月10日
    00
  • JS面试必备之手写call/apply/bind/new

    以下是关于“JS面试必备之手写call/apply/bind/new”的完整攻略。 手写call和apply call和apply是JavaScript原生的方法,可以改变函数的this指向。下面是手写实现call和apply的步骤: call 将函数作为对象的一个属性。 将函数的this指向当前对象。 执行该函数。 将对象上的函数删除。 Function.…

    JavaScript 2023年6月11日
    00
  • Java Web实现的基本MVC实例分析

    通过Java Web可以实现基本的MVC(Model-View-Controller)架构。MVC是一种软件设计模式,用于将一个应用程序分成三个核心部分:Model(模型)、View(视图)和Controller(控制器)。MVC架构使应用程序的开发、维护和扩展更加容易。本攻略将详细讲解在Java Web中实现基本MVC的过程,包括创建模型、视图和控制器、实…

    JavaScript 2023年5月28日
    00
  • JS验证不重复验证码

    关于 “JS验证不重复验证码”的完整攻略,我将按以下步骤讲解。 第一步:在前端生成并展示验证码 首先,在前端页面中,我们需要生成一个验证码,可以使用不同的方式,如下面的代码示例所示: <div> <label for="captcha-input">验证码:</label> <input type…

    JavaScript 2023年6月10日
    00
  • Iframe跨窗口通信原理详解

    Iframe跨窗口通信原理详解 什么是Iframe? Iframe又被称为内嵌框架,是一种可以将另一个HTML文档嵌入到当前HTML文档的标记。它可以将不同的网页嵌到同一个网页上,使得网页具有嵌套性。 Iframe的跨窗口通信原理 Iframe内部的网页区域和外部的网页区域是完全隔离的,就算是运行在同一个主域名下,它们之间也无法直接通讯。对此,Iframe提…

    JavaScript 2023年6月11日
    00
  • vue3项目中使用tinymce的方法

    下面是vue3项目中使用tinymce编辑器的完整攻略: 安装tinymce 首先,在终端中通过npm包管理器安装tinymce: npm install tinymce –save 引入tinymce 在需要使用的组件中引入tinymce的js文件: <template> <div> <textarea id="e…

    JavaScript 2023年6月11日
    00
  • JavaScript中的闭包

    JavaScript中的闭包是一个非常重要的概念,也是比较难以理解的一个部分。在理解闭包之前,首先需要明确以下几个概念: 变量作用域(Scope),指一个变量可以被访问的区域。 函数作用域(Function scope),指函数内部定义的所有变量在函数外部都是不可访问的。 作用域链(Scope chain),指当一个函数被调用时,JavaScript引擎会去…

    JavaScript 2023年6月10日
    00
  • 一步步教你用js简单实现新年倒计时

    下面是“一步步教你用js简单实现新年倒计时”的完整攻略,内容包含以下几个步骤: 1. 创建HTML页面结构 首先,在HTML页面中创建元素用于展示倒计时的时间。可以创建以下几个元素: 一个用于显示天数的<span>元素,例如<span id=”days”></span>; 一个用于显示小时数的<span>元素,…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部