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中的Date对象和相关方法来实现。下面是具体的攻略: 获取当前时间 使用JavaScript中的Date对象可以获取当前的时间。代码如下: var currentTime = new Date(); console.log(currentTime); 输出结果如下: Sun Jul 11 2021 15:4…

    JavaScript 2023年5月27日
    00
  • js 定时器setTimeout无法调用局部变量的解决办法

    当我们在js代码中定义了局部变量,如果要在定时器setTimeout中使用该变量,可能会出现无法调用的情况。这是因为定时器是基于全局变量执行的,而局部变量只能在定义它的函数中使用。 为了解决这个问题,我们可以采用以下两种方法: 方法一:使用闭包 我们可以通过将变量封装在一个函数内部,并返回一个函数的方式创建一个闭包,使得该变量可以被定时器正确调用。以下是一个…

    JavaScript 2023年6月11日
    00
  • 浅谈Javascript中的Label语句

    当开发者在JavaScript的开发中需要使用到跳出多重循环或者是跳出函数的操作时,使用break和continue关键字 这两个关键字的作用都是控制循环语句,break直接跳出循环,continue只是跳出本次循环,但是仅仅使用这两个关键字是满足不了开发者的需求,这个时候我们就需要了解 label 语句。 Label语句的含义 在 JavaScript 中…

    JavaScript 2023年5月28日
    00
  • 什么是DOM(Document Object Model)文档对象模型

    DOM (Document Object Model,文档对象模型)是一种表示 HTML 和 XML 文档的标准程序接口。通过使用 DOM,可以访问和操作一个文档中的内容。DOM 描述了一个层次化的节点树,允许开发人员添加、修改或删除文档中的任意部分。 DOM 模型分为三个部分:文档结构模型(Document),元素对象模型(Element)和特性对象模型(…

    JavaScript 2023年6月10日
    00
  • js模拟点击以提交表单为例兼容主流浏览器

    以下是详细讲解“js模拟点击以提交表单为例兼容主流浏览器”的完整攻略。 什么是js模拟点击以提交表单 js模拟点击以提交表单是指在前端页面上通过JavaScript代码模拟用户点击提交按钮并提交表单数据。通常用于从前端页面向后台服务器提交数据并触发后台相关操作。 兼容主流浏览器的攻略 由于不同浏览器的JS引擎有差异,因此需要针对不同的浏览器进行兼容。 下面是…

    JavaScript 2023年5月27日
    00
  • 使用JavaScript计算前一天和后一天的思路详解

    十分感谢您的提问,我将为您提供如下对“使用JavaScript计算前一天和后一天的思路详解”的详细讲解攻略。 简介 首先,我们需要了解一下时间相关的标准,JavaScript中常见的有三种时间格式:时间戳、日期时间字符串、Date对象。其中,时间戳(Unix Timestamp / Epoch Time)一般指的是从1970年1月1日00:00:00至现在的…

    JavaScript 2023年5月27日
    00
  • 在网页中使用document.write时遭遇的奇怪问题

    使用document.write()方法在网页中输出内容是一种常见的做法。但在某些情况下,使用该方法可能会导致奇怪的问题出现。这些问题主要与网页渲染和JavaScript执行顺序有关。 下面是避免这些问题的一些攻略: 在DOMContentLoaded事件触发后再使用document.write() 当浏览器加载完DOM树后,会触发DOMContentLoa…

    JavaScript 2023年5月28日
    00
  • 一起深入理解js中的事件对象

    一起深入理解JS中的事件对象 在客户端JS中,事件对象是非常重要的概念之一,它提供了关于事件被触发的所有信息。了解并使用事件对象可以让我们写出更加优秀的JS代码,并更好的理解浏览器的事件模型。 何为事件对象 事件对象是指在JavaScript中当一个事件被触发时,浏览器会自动创建一个事件对象。事件对象中包含着与所触发事件相关的所有信息,如事件发生的位置、事件…

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