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

yizhihongxing

当我们需要在前端操作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获取元素的位置与尺寸实现方法

    获取元素位置和尺寸信息是web开发中经常需要面对的问题。下面是一些原生JS获取元素位置和尺寸的方法。在示例中,我们将使用一个html文档和一个div元素作为示例。 获取元素位置 offsetTop和offsetLeft属性 在HTML文档中,每个元素都有offsetTop和offsetLeft属性,它们表示元素相对于其offsetParent(父元素)的顶部…

    JavaScript 2023年6月11日
    00
  • js将列表组装成树结构的两种实现方式分享

    让我们来详细讲解“js将列表组装成树结构的两种实现方式分享”的完整攻略。 1. 背景 在开发网站时,经常会遇到需要将列表数据组装成树形结构的需求。比如,某个商品分类下有多个子分类,子分类又有自己的子分类,这就是一棵树形结构。如果我们只有一份列表数据,该如何将它组装成一棵树呢? 2. 实现方式一:递归 2.1 实现思路 递归是一种非常自然且直观的方法,它通过不…

    JavaScript 2023年5月27日
    00
  • history保存列表页ajax请求的状态使用示例详解

    history保存列表页ajax请求的状态使用示例详解 简介 本文介绍如何使用HTML5中的history API,在列表页的AJAX请求中保存历史记录和页面状态,以及如何在回退时正确恢复页面状态。 前置条件 已经掌握AJAX调用后端接口,可成功加载并展示列表数据。 已经掌握HTML5的history API基础用法。 保存历史记录和页面状态 在列表页中,我…

    JavaScript 2023年6月11日
    00
  • Jquery方式获取iframe页面中的 Dom元素

    获取 IFRAME 页面中的 DOM 元素,可以通过两种方式实现:直接获取子页面中的元素对象或通过 iframe 的 contentWindow 属性获取子页面的 window 对象,从而操作其中的 DOM 元素。以下是使用 jQuery 的方式获取 IFRAME 页面中 DOM 元素的攻略。 使用 jQuery 的方式获取 IFRAME 页面中的 DOM …

    JavaScript 2023年6月10日
    00
  • JavaScript中常见的继承方式总结

    JavaScript中常见的继承方式主要包括原型链继承、构造函数继承、组合继承、寄生组合继承、ES6类继承等,下面将详细介绍这些继承方式。 原型链继承 原型链继承是JavaScript中最为普遍的继承方式,它的基本思想是让一个构造函数的原型对象作为另一个构造函数的实例的原型,从而实现继承。其实现方式如下: function Parent() { this.n…

    JavaScript 2023年5月27日
    00
  • JavaScript遍历DOM元素的常见方式示例

    当我们需要操作DOM以实现页面的交互效果时,我们需要遍历DOM元素。以下是几种常见的JavaScript遍历DOM的方式: 1. 通过节点关系遍历 在DOM中,节点之间有父子、兄弟、前后关系,利用这些关系可以方便地遍历DOM节点。主要有以下几个属性和方法: parentNode:获取当前节点的父节点; childNodes:获取当前节点的所有子节点(注意,子…

    JavaScript 2023年6月10日
    00
  • 浅析JavaScript中的特殊函数及用法小结

    浅析JavaScript中的特殊函数及用法小结 题意概述 该题要求讲解 JavaScript 中的特殊函数及用法,并提供至少两个具体的示例。 异步函数 在 JavaScript 中,异步函数是经常被使用的特殊函数。当使用异步函数时,代码将会先继续执行后续语句,等待异步函数执行完后再执行对应的回调函数。异步函数在实际应用中尤为重要,例如从服务器获取数据、读取文…

    JavaScript 2023年5月18日
    00
  • js 验证 常用正则表达式集锦

    下面是详细讲解“js 验证 常用正则表达式集锦”的完整攻略: 1. 正则表达式基础知识 正则表达式是一种用于描述字符串规则的表达式,可以用来匹配、查找和替换字符串。在 JS 中,使用 RegExp 对象来创建正则表达式,也可以通过字面量表示法来创建。 对于一些常用的字符特殊符号,需要在正则表达式中进行转义,如下表所示: 特殊字符 描述 \ 转义字符,用来将特…

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