JS实现Cookie读、写、删除操作工具类示例

yizhihongxing

下面就是详细讲解“JS实现Cookie读、写、删除操作工具类示例”的完整攻略。

什么是Cookie?

先来简单介绍一下什么是Cookie。Cookie是一种在客户端(浏览器)存储数据的技术,用于存储各种信息,如登录状态、用户个性化设置、购物车商品等。Cookie的使用可以在服务器端通过响应头设置Cookie,在客户端通过document.cookie读取和修改Cookie。

实现Cookie读、写、删除操作

在实际开发中,我们可能需要对Cookie进行读、写、删除等操作。下面我们就来介绍如何通过JS实现Cookie读、写、删除操作。

1. Cookie的写入

要将数据写入Cookie,可以通过设置document.cookie实现。以下是一个示例代码:

function setCookie(cname,cvalue,exhours) {
    var d = new Date();
    d.setTime(d.getTime() + (exhours*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

这段代码定义了一个名为setCookie的函数,函数接收三个参数:cookie的名称、cookie的值和cookie的过期时间(单位:小时)。在函数内部,通过设置 expires 变量,指定了 cookie 的过期时间,并调用 document.cookie 设置 cookie 的名称和值,以及 path 属性设置 cookie 的路径。

2. Cookie的读取

要从Cookie中读取数据,可以通过读取document.cookie实现。以下是一个示例代码:

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(";");
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

这段代码定义了一个名为getCookie的函数,函数接收一个参数:cookie的名称。在函数内部,通过调用 document.cookie 获取所有 cookie,并通过 split 函数将所有 cookie 分割成单个 cookie。之后再循环遍历所有 cookie,如果找到指定的 cookie 则返回其值。如果没有找到则返回空字符串。

3. Cookie的删除

要从Cookie中删除一个Cookie,可以通过设置它的过期时间为过去的时间来实现。以下是一个示例代码:

function deleteCookie(cname) {
    document.cookie = cname + "=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/;";
}

这段代码定义了一个名为deleteCookie的函数,函数接收一个参数:cookie的名称。在函数内部,通过设置 expires 属性为一个过去的时间,将该 cookie 的过期时间设置为过去的时间,从而达到删除该 cookie 的效果。需要注意的是,为了删除 cookie,path 属性要设置为根路径。

示例说明

下面是两个示例说明,帮助你更好的理解以上实现Cookie读、写、删除操作的代码:

示例一:

在这个示例中,我们实现了一个网站的主题设置功能,在切换主题时使用 Cookie 存储用户所选主题。以下是示例代码:

//获取cookie的值
function getTheme() {
    var theme = getCookie("theme");
    if(theme != "") {
        //应用主题
    } else {
        //使用默认主题
    }
}

//设置cookie的值
function setTheme(theme) {
    setCookie("theme", theme, 24);
    //应用主题
}

//删除cookie的值
function clearTheme() {
    deleteCookie("theme");
    //应用默认主题
}

//切换主题
function switchTheme(theme) {
    setTheme(theme);
}

在这个示例中,getTheme函数从Cookie中读取用户设置的主题,如果主题存在则应用该主题,否则使用默认主题。setTheme函数将用户所选主题存储到Cookie中,过期时间为24小时。clearTheme函数删除Cookie中的主题,应用默认主题。switchTheme函数是切换主题的入口函数,该函数接收用户所选主题作为参数。

示例二:

在这个示例中,我们实现了使用Cookie来存储购物车数据。以下是示例代码:

//添加商品到购物车
function addToCart(product) {
    var cart = getCookie("cart");
    if(cart != "") {
        var cartArray = JSON.parse(cart);
    } else {
        var cartArray = [];
    }
    cartArray.push(product);
    var cartJSON = JSON.stringify(cartArray);
    setCookie("cart", cartJSON, 24);
}

//从购物车中移除商品
function removeFromCart(product) {
    var cart = getCookie("cart");
    if(cart != "") {
        var cartArray = JSON.parse(cart);
        var index = cartArray.indexOf(product);
        if(index != -1) {
            cartArray.splice(index, 1);
            var cartJSON = JSON.stringify(cartArray);
            setCookie("cart", cartJSON, 24);
        }
    }
}

//显示购物车列表
function showCart() {
    var cart = getCookie("cart");
    if(cart != "") {
        var cartArray = JSON.parse(cart);
        //显示购物车列表
    } else {
        //显示购物车为空
    }
}

在这个示例中,addToCart函数将商品添加到购物车中,首先从 Cookie 中读取已有的购物车数据,如果购物车不为空,则解析 JSON 格式的购物车数据为数组,如果购物车为空,则定义一个空数组。之后将商品添加到购物车中,再将购物车数组转换为 JSON 字符串,最后将购物车数据存储到 Cookie 中。removeFromCart函数从购物车中移除商品,先从 Cookie 中读取购物车数据,并将其解析为购物车数组,然后找到要移除的商品在数组中的索引,如果存在则将其从购物车数组中移除,最后将购物车数据重新存储到 Cookie 中。showCart函数从 Cookie 中读取购物车数据并解析为数组,然后将购物车数组数据渲染到页面上,以供用户查看。

总结

以上就是关于如何通过JS实现Cookie读、写、删除操作的完整攻略以及两个示例的说明。在实际开发中需要灵活运用 Cookie 技术,根据具体业务场景的要求进行读、写、删除等 Cookie 操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现Cookie读、写、删除操作工具类示例 - Python技术站

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

相关文章

  • 基于JavaScript获取url参数2种方法

    当开发 web 应用时,我们经常需要从 URL 中获取参数。JavaScript 是一种方便快捷、实用的语言,而获取 URL 参数是 JavaScript 开发中必须面对的一个问题。本文将详细介绍两种基于 JavaScript 获取 URL 参数的方法,并提供具体的示例说明。 方法1:使用正则表达式 要从 URL 中获取参数,我们可以使用 JavaScrip…

    JavaScript 2023年6月11日
    00
  • Node工程的依赖包管理方式

    作者:京东零售 陈震 在前端工程化中,JavaScript 依赖包管理是非常重要的一环。依赖包通常是项目所依赖的第三方库、工具和框架等资源,它们能够帮助我们减少重复开发、提高效率并且确保项目可以正确的运行。 目前比较常见的前端包管理器有 npm 和 Yarn,npm 是 Node.js 自带的包管理器,它可以安装、共享和分发 node.js 模块。最近pnp…

    JavaScript 2023年4月24日
    00
  • 9种使用Chrome Firefox 自带调试工具调试javascript技巧

    当我们开发JavaScript程序的时候,难免会遇到一些问题,这时候使用调试工具就是非常必要的。Chrome和Firefox浏览器都自带了调试工具,本文将详细讲解9种使用Chrome和Firefox自带调试工具调试JavaScript的技巧。 1. 加断点 在代码中加入断点是调试的入门级技巧。断点可以让程序在指定的语句处停下来,并可以查看当前的变量值以及执行…

    JavaScript 2023年6月11日
    00
  • CCPry JS类库 代码

    CCPry JS类库 代码攻略 什么是CCPry JS类库? CCPry JS类库是一款基于原生JavaScript的类库,提供了常用的工具函数和简化DOM操作的方法,方便开发人员快速完成常见的任务。 如何引入CCPry JS类库? 在HTML页面的标签中添加以下代码即可引入CCPry JS类库: <script src="ccpry.js&…

    JavaScript 2023年6月11日
    00
  • 使用javascript做时间倒数读秒功能的实例

    下面是使用 JavaScript 做时间倒数读秒功能的完整攻略: 步骤一:HTML 结构 首先,在 HTML 中创建一个显示倒计时的容器。例如,可以创建一个包含类名为 countdown-timer 的 div 元素: <div class="countdown-timer"></div> 步骤二:CSS 样式 对…

    JavaScript 2023年5月27日
    00
  • JavaScript中的LHS和RHS分析详情

    LHS和RHS分析是 JavaScript 引擎在编译或执行期间的一个步骤,用于寻找变量的值或将值赋给变量。这里的LHS和RHS代表了赋值操作(Assignment)的左值和右值。其中LHS用于对变量的赋值操作进行操作,而RHS用于对变量取值操作进行操作。 LHS查找 LHS查找是指寻找变量的容器(Container),即变量本身。在执行代码时,如果发现变量…

    JavaScript 2023年5月28日
    00
  • JS实现简单的键盘打字的效果

    让我们来讲解如何用JS实现简单的键盘打字效果。 分析思路 我们需要监听键盘的按键事件,当有键被按下时,我们获取到该键的对应字符,然后将该字符添加到页面上的一个文本区域中。同时,我们也需要记录已经输入的字符,方便后续的处理。 步骤 在HTML文件中创建一个文本区域,用于显示用户输入的字符。 <textarea id="input"&g…

    JavaScript 2023年5月28日
    00
  • BootStrap+Mybatis框架下实现表单提交数据重复验证

    首先,我们需要明确一下实现表单提交数据重复验证的基本思路。我们可以在页面上的表单中增加一个校验码字段,每次提交时,先检测校验码,若校验码匹配成功则将表单数据保存至数据库,否则提示用户“数据已存在”。 下面是实现表单提交数据重复验证的完整攻略: 一、创建数据库表 我们可以先创建一个名为user的数据库表,用来存储用户表单提交数据。以下是该表的基本结构: CRE…

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