javascript操作Cookie(设置、读取、删除)方法详解

JavaScript操作Cookie(设置、读取、删除)方法详解

什么是Cookie

Cookie是一种存储在用户浏览器中的小文本文件,它包含网站的服务器发给浏览器的信息,可以用来识别已经访问过该网站的用户。因为Cookie是纯文本格式并且只存储少量信息,所以它们不会对系统性能产生太大影响。

设置Cookie

通过JavaScript可以轻松地设置Cookie。以下是设置Cookie的方法:

document.cookie = "name=value; expires=date; path=path; domain=domain; secure";
  • name:cookie名称
  • value:cookie值
  • expires:cookie的失效时间,以GMT格式的字符串表示。如果未设置失效时间,cookie将在关闭浏览器时自动删除。
  • path:限制目录,指定与cookie关联的Web页面。如果未设置路径,则cookie将适用于所有页面。
  • domain:指定与cookie关联的主机。如果未设置域,cookie将适用于发出cookie请求的主机。
  • secure:指定是否使用HTTPS协议来传输cookie。

以下是一个设置cookie的示例:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2022 12:00:00 GMT; domain=mydomain.com; path=/; secure";

在此示例中,我们在mydomain.com域名下设置了一个名为username的cookie,它的值为John Doe,并将在指定日期过期。

读取Cookie

读取Cookie的方式非常简单。以下是JavaScript根据cookie名称获取cookie值的方法:

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

此代码将解密cookie值并将其作为数组返回,以方便检查每个cookie的名称。

以下是一个示例,演示如何使用上述函数读取cookie:

var usernameCookie = getCookie("username");
if (usernameCookie != "") {
  alert("Welcome, " + usernameCookie);
} else {
  alert("Sorry, the cookie is not found!");
}

在此示例中,我们检查名为username的cookie值是否存在。如果存在,我们将欢迎消息和username值显示给用户。

删除Cookie

删除cookie也非常简单。以下是JavaScript删除cookie的方法:

function deleteCookie(name) {
  document.cookie = name +'=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

此代码将设置cookie的过期时间为过去的一个时间,因此浏览器将删除该cookie。

以下是一个示例,演示如何使用上述函数删除cookie:

deleteCookie('username');

在此示例中,我们删除了名为username的cookie。

结论

本文介绍了JavaScript操作Cookie的三个方法:设置,读取和删除。在您的Web应用程序中使用Cookie,可以保存用户偏好设置,浏览器偏好设置,身份验证信息等用户相关信息以实现可持续化体验。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript操作Cookie(设置、读取、删除)方法详解 - Python技术站

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

相关文章

  • JavaScript中的数学运算介绍

    下面是“JavaScript中的数学运算介绍”的完整攻略: JavaScript中的数学运算介绍 在 JavaScript 中,我们可以进行任意的数学运算,例如加法、减法、乘法、除法等等。下面就来一一介绍这些运算。 加法 在 JavaScript 中,加法运算使用加号(+)进行表示。 let a = 3; let b = 4; let c = a + b; …

    JavaScript 2023年5月18日
    00
  • 深浅拷贝,温故知新

    1、深拷贝 1.1、概念 对象的深拷贝是指其属性与其拷贝的源对象的属性不共享相同的引用(指向相同的底层值)的副本。 因此,当你更改源或副本时,可以确保不会导致其他对象也发生更改;也就是说,你不会无意中对源或副本造成意料之外的更改。 在深拷贝中,源和副本是完全独立的。深拷贝与其源对象不共享引用,所以对深拷贝所做的任何更改都不会影响源对象。 1.2、实现方式: …

    JavaScript 2023年5月11日
    00
  • JavaScript 拖拽实现(附注释),最经典简单短小精悍!

    以下是JavaScript拖拽实现的详细攻略: 概述 拖拽实现是网页中常见的交互效果,它的实现原理是借助JavaScript事件和DOM操作。本文将带您全面了解JavaScript拖拽的实现方法。 基本原理 拖拽实现的基本原理如下: 给需要拖拽的元素绑定mousedown事件。 鼠标按下时,记录鼠标相对元素位置,并给document绑定mousemove和m…

    JavaScript 2023年6月11日
    00
  • 写出更好的JavaScript程序之undefined篇(中)

    针对“写出更好的JavaScript程序之undefined篇(中)”这篇文章,我来进行详细的讲解攻略,包括以下几个方面: 理解undefined的含义 undefined是JavaScript中的一个关键字,指的是一个变量或属性没有被赋值,或者被赋值为undefined。例如以下代码片段中的变量a和b都是undefined: var a; var b = …

    JavaScript 2023年5月27日
    00
  • JQuery 动态扩展对象之另类视角

    JQuery 动态扩展对象之另类视角 在 Javascript 中,对象是一种灵活的数据类型,可以随意添加、删除、修改属性。JQuery 作为一个基于 Javascript 的库,提供了很多方便的方法和 API,其中一个非常常用的功能就是动态扩展对象。这篇文章将介绍 JQuery 中动态扩展对象的另一种视角,希望对初学者来说有所帮助。 对象的动态扩展 在 J…

    JavaScript 2023年6月10日
    00
  • JS实现的抛物线运动效果示例

    下面我将为你详细讲解“JS实现的抛物线运动效果示例”的完整攻略。具体内容如下: 抛物线运动效果实现的原理 在实现抛物线运动效果之前,我们需要先了解它的基本原理。通俗地说,抛物线运动是指一种自由落体运动,其加速度大小保持不变,但方向发生变化,运动轨迹呈现抛物线形状。在应用中,我们可以通过以下公式来计算抛物线运动的位置: x = vx * t + x0; y =…

    JavaScript 2023年5月28日
    00
  • jQuery EasyUI API 中文文档 – ValidateBox验证框

    关于“jQuery EasyUI API 中文文档 – ValidateBox验证框”的完整攻略,我会给您进行详细介绍。 简介 ValidateBox是jQuery EasyUI库中的一种输入验证框。通过ValidateBox,我们可以轻松地验证用户输入的内容是否合规。同时,ValidateBox也支持自定义验证规则。 基本用法 首先,我们需要引入jQuer…

    JavaScript 2023年6月10日
    00
  • Yii2框架数据验证操作实例详解

    下面我就来详细讲解一下“Yii2框架数据验证操作实例详解”。 概述 在Web应用程序中,数据的安全性和准确性非常重要,因此我们需要对请求中的数据进行严格的验证。Yii2框架提供了丰富的数据验证机制,本篇攻略旨在对Yii2框架数据验证机制进行详细的介绍和实例操作。 验证器(Validators) 在Yii2框架中,我们通过验证器类来定义和实现数据的验证规则。Y…

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