javascript创建cookie、读取cookie

创建Cookie:

JavaScript 创建 Cookie 很容易。下面是创建 Cookie 的语法:

document.cookie = "key=value; expires=date; path=pathName";

说明:

  • key=value:键值对,表示要保存的数据。
  • expires=date:可选。设置 Cookie 的过期时间,如果不设置默认关闭网页时删除。
  • path=pathName:可选。设置 Cookie 的访问路径,默认是整个网站都可以访问。

例如,我们要创建一个名为 "username",值为 "John Doe"的 Cookie,60 天后过期:

let d = new Date();
d.setTime(d.getTime() + (60 * 24 * 60 * 60 * 1000)); //设置时间为60天后
let expires = "expires=" + d.toUTCString();
document.cookie = "username=John Doe;" + expires + ";path=/";

读取Cookie:

要读取 Cookie,只需要读取 document.cookie即可。获取到的所有 Cookie 都以分号分隔。接下来只需要遍历每个 Cookie 并且找到指定的 Cookie 即可。

例如,我们要读取名为 "username" 的 Cookie:

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

let username = getCookie("username");
if (username != "") {
  alert("Welcome again " + username);
} else {
  username = prompt("Please enter your name:", "");
  if (username != "" && username != null) {
    let d = new Date();
    d.setTime(d.getTime() + (60 * 24 * 60 * 60 * 1000)); //设置时间为60天后
    let expires = "expires=" + d.toUTCString();
    document.cookie = "username=" + username + ";" + expires + ";path=/";
  }
}

以上代码中,函数 getCookie() 用于获取指定名称的 Cookie。如果没有找到该名称的 Cookie,则返回一个空字符串。最后,代码会检查是否已经存在名为 "username" 的 Cookie。如果已经存在,则弹出欢迎回来提示信息。如果不存在,则要求用户输入,并将输入的值设置为 Cookie。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript创建cookie、读取cookie - Python技术站

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

相关文章

  • layui表格 返回的数据状态异常的解决方法

    以下是 “layui表格 返回的数据状态异常的解决方法” 的完整攻略。 问题描述 在进行 layui 数据表格的开发时,当接收后端返回的数据时异常,可能会出现以下问题: 列表页面显示空白; 主键无法显示或者是 NaN。 解决办法 当我们使用 layui 数据表格时,通常会涉及到后端返回 JSON 格式的数据。layui 表格在接收后端返回的数据时,必须满足以…

    JavaScript 2023年5月28日
    00
  • JS中switch的四种写法示例

    下面我将详细讲解JS中switch的四种写法示例。 简述 switch是一个条件语句,用于测试变量是否等于多个值中的某一个值。在JS中,switch有四种使用方式,分别是: 没有 break 关键字; 有 break 关键字; 每个 case 都使用 return; 使用对象的方法进行判断。 没有 break 关键字 示例代码如下: var myAnswer…

    JavaScript 2023年5月28日
    00
  • 详解JavaScript对象转原始值

    回答: 1. JavaScript对象转原始值 在JavaScript中,当一个对象被转换成原始类型时,会调用该对象的valueOf()和toString()方法。如果这两个方法都不存在或没有返回原始值,则会抛出TypeError异常。 1.1 valueOf()方法 对于大多数JavaScript对象,valueOf()方法会返回对象本身。但是对于包装对象…

    JavaScript 2023年5月27日
    00
  • js操作数组函数实例小结

    让我来详细讲解一下“js操作数组函数实例小结”的攻略。 一、前言 JavaScript中的数组非常强大,可以通过使用一系列内置函数来实现对数组的操作,例如增删改查、排序等等。这些函数能给程序员带来很大的便利,让我们的编码效率成倍提升。 二、常用操作函数 下面是一些常用的操作数组的函数: 1. push和pop push和pop用于在数组的末尾添加或删除数据。…

    JavaScript 2023年5月27日
    00
  • JavaScript中 ES6 generator数据类型详解

    JavaScript中 ES6 generator数据类型详解 什么是 generator? generator 是 ES6 中新增加的一种数据类型,它可以在函数执行的过程中暂停执行,并可以恢复执行。 在函数中使用 yield 关键字可以暂停函数的执行,同时可以通过 next() 方法恢复函数的执行。 使用 generator 可以方便地实现异步操作、迭代器…

    JavaScript 2023年5月28日
    00
  • JS在IE和FireFox之间常用函数的区别小结

    针对“JS在IE和FireFox之间常用函数的区别小结”的问题,以下是我的回答: 目的 本文主要介绍在IE和Firefox之间常用函数的区别,帮助开发者更好地适配不同的浏览器环境,并确保网站能够在各种浏览器中正常运行。 核心知识点 事件处理函数的差异 DOM API 的差异 JavaScript 对象的差异 JavaScript 数组的差异 CSS 样式的差…

    JavaScript 2023年6月10日
    00
  • JavaScript实现简单计算器小程序

    下面是详细讲解 “JavaScript实现简单计算器小程序” 的完整攻略: 介绍 计算器小程序是一种非常常见的小型应用程序,它可以用来进行简单的算术计算。使用 JavaScript 编写一个计算器小程序的过程,可以通过不同的方法来完成,但本次教程讲解的是最基本的方法,以便初学者学习。 步骤 以下是一个基本的步骤来创建 JavaScript 计算器小程序: 步…

    JavaScript 2023年5月27日
    00
  • js检测浏览器夜晚/黑暗(dark)模式方法

    如何检测浏览器的夜晚/黑暗模式 当用户在电脑或手机等浏览器中将主题从白天模式切换到黑夜模式时,浏览器会触发媒体查询 prefers-color-scheme。我们可以利用 JavaScript 检测媒体查询条件,推断出当前是白天还是黑夜模式。 检测浏览器是否支持 prefers-color-scheme 媒体查询 在使用 prefers-color-sche…

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