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 时,首先需要了解它的基本语法,这是非常重要的一步。下面,我将向大家介绍 JavaScript 的基本语法。 变量 变量是存储数据的容器。变量可以在程序的后续部分被操作或调用。 在 JavaScript 中,可以使用 var、let 或 const 来声明变量。 // 使用 var 声明变量 var num = 10; /…

    JavaScript 2023年5月17日
    00
  • JavaScript 闭包的使用场景

    JavaScript 闭包的使用场景 在 JavaScript 中,每个函数都会创建一个闭包。闭包是由函数和创建该函数时在作用域中的变量组成的。在闭包中,函数可以访问其外部作用域中定义的变量,即使函数在其外部作用域之外被调用和执行。 闭包的优点 使用闭包有以下优点: 保护变量,防止变量污染全局作用域。 在函数外部访问函数内部的变量。 实现模块化开发。 缓存。…

    JavaScript 2023年6月10日
    00
  • 浅谈JSON5解决了JSON的两大痛点

    让我详细地讲解一下“浅谈JSON5解决了JSON的两大痛点”的完整攻略。 背景介绍 首先,让我们来了解一下 JSON5 背后的背景。JSON(JavaScript Object Notation)是一种常用的数据交换格式,用于存储和传输简单和复杂的数据。JSON 这种格式的优点在于它的可读性、易于解析和在 Web 应用程序和 API 中的广泛使用。然而,在实…

    JavaScript 2023年5月27日
    00
  • 现代 javscript 编程 资料第6/6页

    现代JavaScript编程资料第6/6页攻略 1. 简要介绍 “现代JavaScript编程”是一份由作者推荐的学习JavaScript编程的资料,第6/6页是其中的最后一部分,主要涉及一些高级的JavaScript编程概念和技术。 2. 常见问题汇总 作者在第6/6页中总结了一些常见的问题,并提供了解决方案,其中一些重要的问题包括: 如何处理异步编程问题…

    JavaScript 2023年5月27日
    00
  • 详解JavaScript的Symbol类型、隐藏属性、全局注册表

    详解JavaScript的Symbol类型、隐藏属性、全局注册表 JavaScript的Symbol类型 JavaScript的Symbol类型是ES6新增的一种基本数据类型,可以用来创建唯一的身份标识符。它是一种类似于字符串的数据类型,但是具有唯一性,并且不可变。 Symbol类型的创建方法是通过Symbol()函数,例如: const key = Sym…

    JavaScript 2023年5月27日
    00
  • javascript获取网页宽高方法汇总

    当我们需要编写一些Web应用或网站时,有时需要获取浏览器的宽度和高度等信息,以便根据宽高信息来做出一些响应式设计或适配不同尺寸设备的设计等。下面介绍一些获取网页宽高的方法。 方法一:获取浏览器窗口宽高 通过 window.innerWidth 和 window.innerHeight 可以获取浏览器窗口实际的宽高,这个方法可用于获取当前设备的可视区域大小。示…

    JavaScript 2023年6月11日
    00
  • js实现电子时钟功能

    下面我将为您详细讲解实现“js实现电子时钟功能”的完整攻略。在这个过程中,我们将会用到HTML、CSS和JavaScript三种语言。 HTML部分 首先,我们先编写一个基本的HTML页面,然后在页面中添加一个用于显示时间的DIV容器。HTML代码可以如下所示: <!DOCTYPE html> <html> <head> …

    JavaScript 2023年5月27日
    00
  • JavaScript文件上传的常见问题整理

    JavaScript文件上传是Web开发中常用的功能,但是在开发过程中也会出现一些常见问题。下面我给您讲解一下JavaScript文件上传的常见问题整理。 1. 文件上传的原理 文件上传的原理是通过form表单提交,form表单中需要使用标签项。选择文件后,将文件内容Post到服务器上的指定路径,服务器端处理完成后返回结果给浏览器。 2. 常见问题 2.1.…

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