javascript cookie操作类的实现代码小结附使用方法

yizhihongxing

JavaScript Cookie 操作类的实现代码小结

什么是 Cookie

Cookie 是一种在浏览器中用于存储信息的小型文本文件,通常用来存储用户的偏好设置、购物车内容等信息。Cookie 存储在用户的计算机上,由服务器生成并发送给浏览器。

JavaScript Cookie 操作类实现

以下代码演示了如何通过 JavaScript 操作 Cookie,具体实现了以下功能:

  • 设置 Cookie
  • 获取 Cookie
  • 删除 Cookie
class Cookie {
  /**
   * 设置 cookie
   * @param {String} name cookie 名称
   * @param {String} value cookie 值
   * @param {Number} expires 失效时间(天数)
   * @param {String} path 请求路径
   */
  static set(name, value, expires = 0, path = '/') {
    let date = new Date();
    let time = date.getTime() + expires * 24 * 3600 * 1000;
    date.setTime(time);
    document.cookie = `${name}=${value};expires=` + date.toGMTString() + `;path=${path}`;
  }

  /**
   * 获取 cookie
   * @param {String} name cookie 名称
   * @returns {String} cookie 值
   */
  static get(name) {
    let cookieArr = document.cookie.split(';');
    for (let i = 0; i < cookieArr.length; i++) {
      let cookie = cookieArr[i].trim();
      let index = cookie.indexOf(name + '=');
      if (index === 0) {
        return cookie.substring(name.length + 1, cookie.length);
      }
    }
    return '';
  }

  /**
   * 删除 cookie
   * @param {String} name cookie 名称
   * @param {String} path 请求路径
   */
  static delete(name, path = '/') {
    let date = new Date();
    date.setTime(-1000);
    document.cookie = `${name}=;expires=` + date.toGMTString() + `;path=${path}`;
  }
}

如何使用

// 设置 cookie
Cookie.set('username', 'fizzy', 7, '/');

// 获取 cookie
let username = Cookie.get('username');

// 删除 cookie
Cookie.delete('username', '/');

在上述示例中,我们使用了 Cookie 类来设置、获取和删除 cookie。其中,set 方法用于设置 cookie,在 namevalue 参数中分别传入 cookie 名称和值,在 expires 参数中指定 cookie 的失效时间(以天为单位),在 path 参数中指定请求路径。

get 方法用于获取 cookie,需要传入 cookie 的名称,返回 cookie 的值。

delete 方法用于删除 cookie,需要传入 cookie 的名称和请求路径。

除了上述示例,Cookie 类可以根据具体情况进行更多的使用。例如,在用户登录时可以将用户信息存储在 cookie 中,在用户退出时删除 cookie,以实现记住登录状态的功能。

示例说明

以下是两个示例,展示了如何使用 JavaScript Cookie 操作类实现具体功能。

示例一:记住登录状态

在用户登录时,将用户信息存储在 cookie 中,并设置失效时间。在用户访问需要登录才能访问的页面时,先获取 cookie 中的登录信息,如果存在则表示用户已经登录,否则需要跳转到登录页面。

// 用户登录
function login(username, password) {
  if (checkLogin(username, password)) {
    // 验证成功,存储用户信息到 cookie
    Cookie.set('username', username, 7, '/');
    return true;
  } else {
    return false;
  }
}

// 判断是否已登录
function checkLogin() {
  let username = Cookie.get('username');
  return username !== '';
}

// 在需要登录才能访问的页面中调用
if (checkLogin()) {
  // 用户已登录,可以访问该页面
} else {
  // 用户未登录,跳转到登录页
  window.location.href = '/login.html';
}

在上述示例中,我们使用 Cookie 存储了用户登录信息(用户名),并设置了失效时间。在需要登录才能访问的页面中,通过判断 cookie 中是否存在登录信息来决定是否跳转到登录页面。

示例二:记住购物车内容

当用户将商品添加到购物车时,将商品信息存储在 cookie 中,并在需要显示购物车信息的页面中获取 cookie 中的购物车内容,然后将其展示给用户。

// 添加商品到购物车
function addToCart(item) {
  let cart = JSON.parse(Cookie.get('cart'));
  if (cart === '') {
    cart = [];
  }
  cart.push(item);
  Cookie.set('cart', JSON.stringify(cart), 7, '/');
}

// 显示购物车内容
function showCart() {
  let cart = JSON.parse(Cookie.get('cart'));
  // 展示购物车内容
}

在上述示例中,我们将购物车内容存储在一个数组中,并使用 JSON.stringify 将其转换为 JSON 字符串后,通过 Cookie 存储。在需要显示购物车内容的页面中,通过 JSON.parse 将 JSON 字符串转换为数组,然后将其展示给用户。

总结

通过 JavaScript 操作 Cookie,可以实现很多实用的功能,如记住登录状态、记住购物车内容等。开发人员可以根据具体情况使用 Cookie 类实现相关功能。除了 Cookie,还有 LocalStorage、SessionStorage 等存储技术也可以用于浏览器端数据存储。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript cookie操作类的实现代码小结附使用方法 - Python技术站

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

相关文章

  • JavaScript数组filter方法

    当在JavaScript中使用数组时,有时我们需要从数组中筛选出符合条件的数据。这时可以使用数组的filter()方法。本文将介绍如何使用filter()方法以及一些示例。 基本语法 filter()方法的基本语法如下: array.filter(function(currentValue[, index[, array]]) { // 定义规则 }); 其…

    JavaScript 2023年5月27日
    00
  • JavaScript常用事件介绍

    下面我将为您详细介绍“JavaScript常用事件”方面的攻略。在JavaScript中,我们可以使用各种事件来相应网页的状态改变和用户的互动。通过事件,我们可以触发一些特定的JavaScript函数,实现对用户行为的响应。 事件介绍 事件是用户在操作网页时触发的一些动作,包括鼠标点击、键盘输入、页面滚动、窗口大小调整等。常见的事件类型包括: 鼠标事件:cl…

    JavaScript 2023年5月27日
    00
  • 解决JS外部文件中文注释出现乱码问题

    解决JS外部文件中文注释出现乱码问题,主要是解决编码方式不匹配导致的问题。下面的攻略可以帮助您解决这个问题。 步骤一:修改文件编码 首先,需要检查JS外部文件的编码方式,确保它与网站的编码方式一致。如果有所不同,就需要将JS文件转换为网站使用的编码方式。可以尝试以下两种方法: 使用文本编辑器修改编码 如果您使用的是文本编辑器,可以打开外部JS文件并修改其编码…

    JavaScript 2023年5月19日
    00
  • JavaScript Title、alt提示(Tips)实现源码解读

    请查看以下详细讲解! JavaScript Title、alt提示(Tips)实现源码解读 简介 我们在日常使用浏览器浏览网页时,常常会遇到鼠标悬停到图片或链接上时,会出现一个提示框,其中包含关于该元素的提示信息。这种提示框通常被称为Title或Tips。 Title提示是通过HTML元素中的title属性来实现的,而图片的alt属性则用于提供图片的替代文本…

    JavaScript 2023年6月10日
    00
  • KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定

    KnockoutJS是一款流行的JavaScript库,针对一个web应用程序的建立提供了比较好的基础架构。其中,表单的数据绑定功能是KnockoutJS最为常用的功能之一。本文将详细讲解KnockoutJS 3.x API中与表单数据绑定相关的submit、enable、disable绑定和使用方法,并提供两个具体的示例说明。 一、submit绑定 sub…

    JavaScript 2023年6月10日
    00
  • javascript showModalDialog传值与FireFox的window.open 父子窗口传值示例

    针对这个话题,我将给出完整的攻略,包含如下内容: showModalDialog传值的示例说明 window.open父子窗口传值的示例说明 相关代码和详细解析 1. showModalDialog传值的示例说明 showModalDialog是JavaScript中的一个对话框方法,使用它我们可以打开模态对话框,将父窗口传入的值传递给子窗口。下面给出具体的…

    JavaScript 2023年6月11日
    00
  • 弱类型语言javascript中 a,b 的运算实例小结

    为了理解“弱类型语言javascript中 a,b 的运算实例”,需先了解JS的数据类型。 JS的7种数据类型分为两种类型:原始类型和引用类型。- 原始类型:数字(Number)、字符串(String)、布尔(Boolean)、null、undefined、Symbol- 引用类型:对象(Object)、数组(Array)、函数(Function) JS中的…

    JavaScript 2023年6月10日
    00
  • JS基于FileSaver.js插件实现文件保存功能示例 原创

    c1 简介 本文介绍了如何使用FileSaver.js插件实现Javascript文件保存功能。 FileSaver.js是一个Javascript库,提供了将文件保存到本地的功能。该库主要用于浏览器端,支持多种类型的文件格式,包括文本、CSV、PDF、Image等等。 c2 安装 要使用FileSaver.js插件,需要先将其引入到HTML页面中。可以通过…

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