迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 中检查 Cookie 是否存在

作者:迹忆客 最近更新:2024/03/21 浏览次数:

cookie 可能是一个简短的文档,它在大约 4KB 的 PC 上存储一些数据。使用 JavaScript,将创建、检索和更改 cookie,并且可以限制 cookie 的值、名称和长度。

本文讨论了 cookies 的概念以及如何使用 JavaScript 检查 cookie 是否存在。


不同类型的 JavaScript cookies

Cookie 分为三种类型:

  1. 会话 cookie 存储在你的浏览器中。一旦浏览器关闭,它们就会被删除。
  2. 第一方 cookie 由网站创建,仅供你的网站浏览。
  3. 第三方 cookie 由你网站上的第三方广告生成。

你可以使用 JavaScript 提供的 document.cookie 属性创建一个 name=value 形式的 cookie,该属性将允许你一次仅设置一个 cookie。使用此 document.cookie 属性,可以设置、读取和删除 cookies

语法:

document.cookie = 'UserName = HelloWorld';

假设你想在创建 cookies 时使用特殊字符。在这种情况下,你需要使用名为 encodeURIComponent() 的 Javascript 提供的内置函数,该函数对分号、空格等特殊字符进行编码。

语法 - encodeURIComponent()

document.cookie = 'UserName=' + encodeURIComponent('Hello  World!');

默认 cookie 生命周期仅限于当前浏览器会话的持续时间。一旦用户退出浏览器,它就会被删除。

使用 max-age 属性,你可以以秒为单位指定 cookie 在从系统中删除之前可以存储多长时间。

语法 - max-age:

document.cookie = 'Username = HelloWorld; max-age =' + 15 * 24 * 60 * 60;

这个 cookie 的有效期为 15 天。

有关创建 cookie 的更多信息,请参见 document.cookie 的文档。


使用 JavaScript 读取或检查 cookies 是否存在

document.cookie 属性返回一个字符串,其中包含一个分号和一个以空格分隔的所有 cookies 列表。此字符串不包含任何 cookie 属性,例如过期、路径、域等。

要从此列表中获取单个 cookie,请使用 split() 方法将其拆分为单独的 name=value 对,然后搜索所需的名称,如下例所示:

function getCookie(user) {
  var cookieArr = document.cookie.split(';');
  for (var i = 0; i < cookieArr.length; i++) {
    var cookiePair = cookieArr[i].split('=');
    if (user == cookiePair[0].trim()) {
      return decodeURIComponent(cookiePair[1]);
    }
  }
  return null;
}

function checkCookie() {
  var user = getCookie('username');
  if (user != '') {
    alert('Welcome again ' + user);
  } else {
    user = prompt('Please enter your name:', '');
    if (user != '' && user != null) {
      setCookie('username', user, 365);
    }
  }
}
checkCookie();

输出:

// If cookie is set
Welcome again, shraddha

在上面的代码中,我们创建了两个函数:

  1. getCookie() 函数读取 cookie 的值。
  2. checkCookie() 函数使用 getCookie() 检查用户名是否被设置。

如果已配置,将显示欢迎消息。如果不设置,可以提示用户名并存储在 cookies 中。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 JavaScript 中返回 False

发布时间:2024/03/21 浏览次数:166 分类:JavaScript

本文解释 JavaScript 中的 return false 和 preventDefault 语句;何时何地使用这些语句,它们之间有什么区别。

使用 JavaScript 获取当前 URL

发布时间:2024/03/21 浏览次数:197 分类:JavaScript

在本教程中,我们将讨论如何使用四种不同的方法在 JavaScript 中获取 URL。这些方法将使用 window.location.href、document.location.href、document.URL 和 document.baseURI。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便