JS前端操作 Cookie源码示例解析

当我们需要在前端操作Cookie时,我们可以通过JavaScript来实现。以下是针对Cookie相关操作的完整攻略:

什么是Cookie?

Cookie是在浏览器上存储的一些文本数据,这些数据通常是与网站相关联的,如用户ID、购物车数据等。通过设置Cookie,可以更好地跟踪和管理用户的首选项、购物车数据、登录信息等。

前端如何操作Cookie?

前端操作Cookie的主要方式是通过JavaScript的document.cookie属性。这个属性允许我们读取、写入和删除Cookie。document.cookie返回当前浏览器会话中可用的所有Cookie字符串,并且可以通过字符串分离和解析属性以读取或设置任意值。

以下是一些使用JavaScript操作Cookie的示例:

1. 读取Cookie

使用document.cookie属性来读取当前浏览器会话中存在的Cookie。

let cookieStr = document.cookie;
console.log(cookieStr);

2. 设置Cookie

使用document.cookie属性来设置新的Cookie。在这个例子中,我们将设置一个名为username的新Cookie。

const username = "John Doe";
const cookieValue = encodeURIComponent(username);
document.cookie = `username=${cookieValue}; path=/`;

在这个例子中,我们使用了encodeURIComponent()来将字符串作为值编码并保证在写入Cookie时不会引发语法错误。我们还指定了一个路径来限制仅在路径为/下的页面才可见。

3. 删除Cookie

可以通过将Cookie的过期日期设置为一个过去的时间来删除Cookie。

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

在这个例子中,我们将过期日期设置为从1970年1月1日起的过去时间,这将导致该Cookie被删除。注意,这里必须指定该Cookie存在的路径及名称。

Cookie源码示例解析

在以下示例中,我们将创建一个JavaScript函数来设置、读取和删除Cookie。

function setCookie(cookieName, cookieValue, expirationDays) {
  const date = new Date();
  date.setTime(date.getTime() + (expirationDays * 24 * 60 * 60 * 1000));
  const expires = `expires=${date.toUTCString()}`;
  document.cookie = `${cookieName}=${cookieValue};${expires};path=/`;
}

function getCookie(cookieName) {
  const name = `${cookieName}=`;
  const cookies = document.cookie.split(';');
  for(let i = 0; i < cookies.length; i++) {
    let temp = cookies[i];
    while (temp.charAt(0) === ' ') {
      temp = temp.substring(1);
    }
    if (temp.indexOf(name) === 0) {
      return temp.substring(name.length, temp.length);
    }
  }
  return '';
}

function deleteCookie(cookieName) {
  document.cookie = `${cookieName}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;`;
}

在这个示例中,我们定义了一个名为setCookie的函数,该函数接受三个参数:cookie名称、cookie值和cookie过期时间。在函数中,我们创建了一个新的Date对象并计算出Cookie的过期日期,并指定了该Cookie可见性的路径。最后,我们在document.cookie上设置这个cookie。

getCookie函数被用来读取一个特定名称的Cookie。它首先检查当前浏览器会话中是否存在Cookie,并使用split()方法将document.cookie字符串分离为Cookie数组。然后在循环整个数组中,查找与输入的Cookie名称相同的Cookie。如果找到了,则函数返回该Cookie的值。

deleteCookie函数的工作原理与setCookie类似,但它将expires设置为1970年1月1日以过期并删除特定的Cookie。

这个示例代码展示了如何使用Cookie存储和读取用户首选项和其他数据等常见的用途。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS前端操作 Cookie源码示例解析 - Python技术站

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

相关文章

  • js中 javascript:void(0) 用法详解

    js中 javascript:void(0) 用法详解 在JavaScript开发中,我们经常会遇到一种URL地址是”javascript:void(0)”的情况,它本身并不是一个有效的URL,而是一种特殊的语法,它的应用范围非常广泛。本文将详细讲解”javascript:void(0)”的用法。 1. 作为超链接的href值 最常见的用法是将”javasc…

    JavaScript 2023年5月18日
    00
  • JavaScript常用工具函数汇总(浏览器环境)

    JavaScript常用工具函数汇总(浏览器环境) 摘要 在JavaScript开发中,为了节省开发时间、提高效率、降低代码复杂度,我们经常使用JavaScript工具函数。本文对JavaScript常用工具函数进行了汇总,主要包括数组、字符串、日期、数字、DOM、事件、Ajax等方面的常用工具函数。 目录 数组工具函数 字符串工具函数 日期工具函数 数字工…

    JavaScript 2023年5月18日
    00
  • 基于 D3.js 绘制动态进度条的实例详解

    这里我将为大家详细讲解“基于 D3.js 绘制动态进度条的实例详解”的完整攻略。 1. D3.js 简介 在开始讲解如何绘制动态进度条之前,先简单介绍一下 D3.js。D3.js 是一个用于操作文档的 JavaScript 库。D3.js 可以帮助开发者使用 HTML、SVG、CSS 和 JavaScript 创建动态交互数据图表和数据可视化效果。 2. 进…

    JavaScript 2023年6月10日
    00
  • Javascript前端下载后台传来的文件流代码实例

    Javascript前端下载后台传来的文件流是一个常见的 Web 开发需求,下面我将详细讲解实现它的完整攻略。 第一步:后台传递文件流 在后台开发过程中,返回文件流需要设置正确的 Content-Type 和 Content-Disposition 头部信息。下面是示例代码: from flask import send_file, make_respons…

    JavaScript 2023年5月27日
    00
  • 非常酷炫的Bootstrap图片轮播动画

    下面是“非常酷炫的Bootstrap图片轮播动画”的完整攻略: 1.准备工作 在使用Bootstrap图片轮播动画之前,需要对代码进行一定的准备工作: 引入jQuery和Bootstrap的CSS和JS文件 <!– 引入jQuery –> <script src="https://code.jquery.com/jquery-…

    JavaScript 2023年6月11日
    00
  • vue如何动态修改$router参数

    在Vue中,可以使用$router对象来管理前端路由。它提供了一些API来获取和修改当前路由状态。下面,我们就来详细讲解Vue如何动态修改$router参数的完整攻略。 修改$router参数的基本概念 在Vue中,可以通过修改$route对象的参数来实现路由跳转。$route对象代表着当前路由状态,其中包括路由的路径、参数、查询、哈希和元信息。而$rout…

    JavaScript 2023年6月11日
    00
  • .NET异步编程模式的三种类型介绍

    当今的软件开发需要在面对并发的任务时能够高效地处理数据和事件。异步编程模式是一种提高程序效率和性能的方式,尤其是针对I/O密集型的应用程序。在.NET平台上,异步编程模式被广泛使用,并且有多种实现方式,下面我们将介绍.NET异步编程模式的三种类型。 1. Async/Await模式 异步编程的目标是提高程序的效率,通过让程序在某个任务执行的同时可以执行其他任…

    JavaScript 2023年5月28日
    00
  • Javascript Math floor() 方法

    JavaScript中的Math.floor()方法用于将一个数向下取整,返回小于或等于给定数字的最大整数。以下是关于Math.floor()方法的完整攻略,包括两个示例。 JavaScript Math对象的floor()方法 JavaScript Math对象中的floor()方法用于将一个数向下取整,返回小于或等于给定数字的最大整数。 下面是floor…

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