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利用正则表达式替换字符串的方法 示例说明 1. 什么是正则表达式替换? 正则表达式替换是指通过指定的正则表达式规则,在一个字符串中查找符合条件的内容并进行替换的操作。 2. JavaScript中的正则表达式 在JavaScrip…

    JavaScript 2023年6月10日
    00
  • JavaScript基础知识点归纳(推荐)

    JavaScript(简称 JS)是一种具有轻量级、跨平台的特性的编程语言,主要用于通过浏览器与网页进行交互、控制 HTML 和 CSS。下面是 JavaScript 基础知识点的完整攻略。 变量 变量是程序存储数据的容器,在 JavaScript 中,可以使用 var 关键字声明变量。同时,JavaScript 也支持以下数据类型: 数字:例如 123、1…

    JavaScript 2023年5月17日
    00
  • 关于字符串和对象互转以及JSON.parse()的坑

    关于字符串和对象互转以及JSON.parse()的坑,涉及到前端开发中的常见问题。下面就从以下三个方面进行详细讲解: JSON.parse()的使用 对象转字符串 字符串转对象 1. JSON.parse()的使用 1.1. JSON.parse()的作用 将JSON字符串转换成JavaScript对象或数据结构。 1.2. JSON.parse()的限制 …

    JavaScript 2023年5月27日
    00
  • js实现文字选中分享功能

    下面是 JS 实现文字选中分享功能的完整攻略: 1. 监听选中事件 要实现文字选中分享功能,首先需要监听用户选择文本的操作。可以使用 window.getSelection() 方法获取用户选中的文本,然后判断选中文本的长度是否大于 0,来确认用户是否已经选中了文本。以下是示例代码: // 监听用户选择文本操作 document.addEventListen…

    JavaScript 2023年6月11日
    00
  • 从阶乘函数对比Javascript和C#的异同

    下面是从阶乘函数对比 Javascript 和 C# 的异同的完整攻略: 一、阶乘函数的定义 阶乘函数是数学中的一种重要函数,一般表示为 n!,表示一个正整数 n 以内所有正整数的乘积。例如: $$5! = 5 \times 4 \times 3 \times 2 \times 1 = 120$$ 二、Javascript 实现阶乘函数 Javascript…

    JavaScript 2023年5月28日
    00
  • js获得当前时区夏令时发生和终止的时间代码

    要获取当前时区夏令时发生和终止的时间,可以使用 JavaScript 的 Date 对象的方法。 获取夏令时开始和结束的时间 要获取夏令时的开始和结束时间,可以使用以下代码: // 获取当前时间的时区偏移量 var offset = new Date().getTimezoneOffset(); // 构建夏令时开始和结束的日期对象 var dstStart…

    JavaScript 2023年5月27日
    00
  • JS实现注册界面表单校验

    下面是JS实现注册界面表单校验的完整攻略: 步骤一:准备工作 在HTML页面中创建一个表单,表单中包含各种需要验证的输入框,例如:用户名、密码、邮箱等。给表单中的输入框设置相应的属性(例如:name、id、required等),方便JavaScript代码获取和操作。 步骤二:编写JavaScript代码 1. 获取表单元素 在JavaScript中通过do…

    JavaScript 2023年6月10日
    00
  • QQ邮箱的一个文本编辑器代码

    下面我来为您详细讲解“QQ邮箱的一个文本编辑器代码”的攻略。 一、QQ邮箱的文本编辑器代码介绍 QQ邮箱的文本编辑器代码可以用于邮件编写时对文本进行排版、格式、样式等的修改。主要代码如下: <span style="color:red;font-size:14px;font-weight:bold">这是一段红色、粗体、大小为…

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