JavaScrpt中如何使用 cookie 设置查看与删除功能

下面详细讲解如何使用JavaScript中的cookie设置查看与删除功能:

1. 什么是 cookie?

cookie是一种储存在用户客户端的小型文本文件,用于存储用户数据,实现网站的状态管理。cookie一般用于记录用户的登录状态、购物车信息等。

2. 如何设置 cookie?

在JavaScript中,可以通过document.cookie来设置cookie。下面是示例代码:

document.cookie = "username=John";

上述代码会在客户端创建一个名为username的cookie,它的值为John

也可以通过添加expires属性来设置过期时间:

// 过期时间为1小时
var expires = new Date();
expires.setTime(expires.getTime() + (60 * 60 * 1000));
document.cookie = "username=John;expires=" + expires.toUTCString();

上述代码会在客户端创建一个名为username的cookie,它的值为John,过期时间为1小时。

3. 如何获取 cookie?

可以通过document.cookie来获取当前网站的所有cookie。下面是一个示例:

console.log(document.cookie);

上述代码会打印出当前网站的所有cookie。

如果需要获取某个cookie的值,可以通过函数来实现:

function getCookie(name) {
  var cookies = document.cookie.split(';');
  for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i].trim();
    if (cookie.indexOf(name + '=') === 0) {
      return cookie.substring(name.length + 1, cookie.length);
    }
  }
  return null;
}

上述代码中,getCookie()函数用于获取指定名称的cookie的值。如果存在该cookie,则返回该cookie的值;如果不存在,则返回null。

4. 如何删除 cookie?

可以通过设置cookie的expires属性为一个过去的时间来删除cookie。下面是一个示例:

// 删除名为username的cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC;";

上述代码会删除名为username的cookie。

示例1:记录用户选择语言的设置

以下是一个示例,演示如何使用cookie记录用户选择的语言设置。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>语言选择</title>
    <script>
      function selectLanguage(lang) {
        // 记录用户选择的语言设置
        document.cookie = "lang=" + lang;
        // 刷新页面
        location.reload();
      }

      function getLanguage() {
        // 获取用户选择的语言设置
        var lang = getCookie("lang");
        // 如果用户已经选择过语言,则返回语言设置
        if (lang) {
          return lang;
        }
        // 如果用户没有选择过语言,则返回默认语言(英语)
        return "en";
      }

      function showPage() {
        // 获取用户选择的语言设置
        var lang = getLanguage();
        // 根据用户选择的语言设置显示网页内容
        if (lang === "en") {
          document.getElementById("content").innerHTML = "This is the English version of the website.";
          document.getElementById("select-button").innerHTML = "<button onclick=\"selectLanguage('zh')\">中文</button>";
        } else {
          document.getElementById("content").innerHTML = "这是网站的中文版。";
          document.getElementById("select-button").innerHTML = "<button onclick=\"selectLanguage('en')\">English</button>";
        }
      }

      function getCookie(name) {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
          var cookie = cookies[i].trim();
          if (cookie.indexOf(name + '=') === 0) {
            return cookie.substring(name.length + 1, cookie.length);
          }
        }
        return null;
      }
    </script>
  </head>
  <body onload="showPage()">
    <div id="content"></div>
    <div id="select-button"></div>
  </body>
</html>

上述代码中,selectLanguage()函数用于记录用户选择的语言设置。getLanguage()函数用于获取用户选择的语言设置并返回。showPage()函数用于根据用户选择的语言设置显示网页内容。

示例2:记录用户最近一次访问时间

以下是另一个示例,演示如何使用cookie记录用户最近一次访问时间。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>最近访问时间</title>
    <script>
      function showLastVisitedTime() {
        // 获取上一次访问时间
        var lastVisitedTime = getCookie("lastVisitedTime");
        // 如果没有上一次访问时间,则显示默认信息
        if (!lastVisitedTime) {
          document.getElementById("msg").innerHTML = "欢迎初次访问本网站!";
          return;
        }
        // 计算时间差
        var now = new Date();
        var last = new Date(lastVisitedTime);
        var diff = now.getTime() - last.getTime();
        var diffDays = Math.floor(diff / (1000 * 60 * 60 * 24));
        // 显示时间差信息
        if (diffDays === 0) {
          document.getElementById("msg").innerHTML = "您上次访问本网站是今天!";
        } else {
          document.getElementById("msg").innerHTML = "您上次访问本网站是 " + diffDays + " 天前!";
        }
      }

      function setLastVisitedTime() {
        // 设置本次访问时间
        var now = new Date();
        document.cookie = "lastVisitedTime=" + now.toUTCString();
      }

      function getCookie(name) {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
          var cookie = cookies[i].trim();
          if (cookie.indexOf(name + '=') === 0) {
            return cookie.substring(name.length + 1, cookie.length);
          }
        }
        return null;
      }
    </script>
  </head>
  <body onload="showLastVisitedTime();setLastVisitedTime();">
    <div id="msg"></div>
  </body>
</html>

上述代码中,showLastVisitedTime()函数用于显示上一次访问时间的信息。setLastVisitedTime()函数用于设置本次访问时间。在浏览器加载页面时,先调用showLastVisitedTime()函数显示上一次访问时间的信息,然后再调用setLastVisitedTime()函数设置本次访问时间的cookie。这样就可以在下一次访问网站时显示上一次访问时间的信息了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScrpt中如何使用 cookie 设置查看与删除功能 - Python技术站

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

相关文章

  • JavaScript中的对象继承关系

    JavaScript中的对象继承关系是指,一个对象可以从另一个对象继承属性和方法。对象的继承关系是通过原型(prototype)链来实现的。每个对象都有一个原型,如果一个属性或方法在对象本身找不到,那么它会在原型中继续查找,直到找到为止。 下面我将为大家介绍JavaScript中对象继承的实现方式和示例: 1. 原型链继承 原型链继承是最常见的继承方式,它的…

    JavaScript 2023年5月27日
    00
  • JS正则中的match与exec使用说明

    JS正则中的match与exec使用说明攻略: 一、前言 在 JavaScript 中,正则表达式是一种非常强大的工具,可以用于字符串匹配、替换等操作。JS正则中的 match 与 exec 方法是两个常用的正则匹配方法。本文将详细讲解这两个方法并提供实例说明。 二、match 方法 match 方法是 String 对象的方法,用来返回与正则表达式匹配的字…

    JavaScript 2023年6月10日
    00
  • vue+vant使用图片预览功能ImagePreview的问题解决

    下面是关于“vue+vant使用图片预览功能ImagePreview的问题解决”的完整攻略: 前言 图片预览是一项非常常见的功能,在网页设计与开发中经常会用到。在Vue项目中,由于拥有大量高性能的组件库,开发图片预览功能变得异常简单,其中Vant就是一个非常优秀的Vue组件库之一。 在使用Vant时,我们可以很简单地使用其中提供的ImagePreview组件…

    JavaScript 2023年6月11日
    00
  • JS层移支示例代码

    需要讲解JS层移支的示例代码,我们先来明确一下JS层移支(JS舞台)在网页中的作用:为网站添加交互功能。那么JS层移支示例代码的完整攻略就是为网页添加交互功能的过程。 在添加交互功能之前,需要准备一个能够运行JS代码的环境,这个环境在网页中就是浏览器。在浏览器中可以使用console.log()来在控制台输出信息,这对于调试代码非常有帮助。 为了添加交互功能…

    JavaScript 2023年6月10日
    00
  • JavaScript开发人员的10个关键习惯小结

    JavaScript开发人员的10个关键习惯小结 1. 注重代码的可读性和可维护性 在编写JavaScript代码时,注重代码的可读性和可维护性是非常重要的。应该遵循约定俗成的编码规范和格式。比如,使用行末分号、缩进、命名规则等等。这样可以保证代码更易于读懂和修改。同时,也应该注重代码的注释和文档,这有利于后来的维护和交接。 示例1: // 非常不好的代码 …

    JavaScript 2023年6月11日
    00
  • Javascript 实现复制(Copy)动作方法大全

    Javascript 实现复制(Copy)动作方法大全 在 Web 开发过程中,经常需要实现复制文本、复制图片等功能。本文将介绍 Javascript 实现复制操作的几种方法。 一、使用 document.execCommand() document.execCommand() 是一个常用的实现复制操作的方式。它可以执行不同的命令,包括复制命令,以实现文本、…

    JavaScript 2023年6月11日
    00
  • JavaScript Array对象使用方法解析

    JavaScript Array对象使用方法解析 概述 JavaScript中的Array对象是一个非常重要的数据结构类型,可以用来存储相同类型的数据,并且可以通过封装在Array对象上的各种方法,方便地进行增、删、改、查等操作。本文将详细地解析JavaScript Array对象的使用方法,包括数组的创建、增删元素、遍历、排序、查找等操作。 数组的创建 方…

    JavaScript 2023年5月27日
    00
  • Javascript Math E 属性

    JavaScript中的Math.E属性是一个常数,表示自然对数的底数e。以下是关于Math.E属性的完整攻略,包括两个示例。 JavaScript Math对象的E属性 JavaScript Math对象的E属性是一个常数,表示自然对数的底数e。 下面是E属性的语法: Math.E ` 下面是一个`E`属性的示例: “`javascript consol…

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