JS封装cookie操作函数实例(设置、读取、删除)

yizhihongxing

下面我来为你详细讲解“JS封装cookie操作函数实例(设置、读取、删除)”的完整攻略。

什么是cookie

cookie 是浏览器用于存储用户信息的一种机制。当我们需要在应用程序之间共享数据时,可以使用 cookie 来存储数据。它是一种名为键-值对的数据结构,可以存储在浏览器中的本地电脑上,并在将来的会话之间使用。

如何进行cookie操作

我们可以使用 JavaScript 来设置、读取和删除 cookie。下面我会为你逐一介绍。

设置cookie

要设置 cookie,我们需要传入三个参数:cookie名称(键),cookie值(值)和可选的过期时间(以天数为单位)。以下是一个设置 cookie 的示例:

function setCookie(name, value, expireDays) {
  var d = new Date();
  d.setTime(d.getTime() + (expireDays * 24 * 60 * 60 * 1000));
  var expires = "expires="+ d.toUTCString();
  document.cookie = name + "=" + value + ";" + expires + ";path=/";
}

在此示例中,我们使用 document.cookie 属性来设置 cookie。

读取cookie

要读取 cookie,我们只需要提供要检索的 cookie 的名称(键)。以下是一个读取 cookie 的示例:

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

在此示例中,我们使用 document.cookie 属性来检索 cookie,并使用 split() 函数将 cookie 字符串拆分为 cookie 数组。然后我们循环遍历 cookie 数组,并提取我们要检索的 cookie。

删除cookie

要删除 cookie,我们只需要将 cookie 的过期日期设置为当前日期之前的一个月。以下是一个删除 cookie 的示例:

function deleteCookie(name) {
  document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
}

在此示例中,我们使用 document.cookie 属性来删除 cookie,并将过期时间设置为遥远的日期。

示例说明

下面,我将通过两个示例来更详细地介绍 cookie 操作。

示例一:使用 cookie 存储用户信息

我们可以使用 cookie 来存储用户信息,比如用户名、密码等。当用户访问网站时,我们可以检查 cookie 中是否存在该用户的信息,并自动填充相应的表单。以下是一个示例:

var form = document.querySelector('form');
var usernameInput = document.querySelector('input[name="username"]');
var passwordInput = document.querySelector('input[name="password"]');
var rememberInput = document.querySelector('input[name="remember"]');

// 检查 cookie 中是否有用户信息
var username = getCookie('username');
var password = getCookie('password');
var remember = getCookie('remember');

// 如果存在用户信息,自动填充相应的表单
if (username) {
  usernameInput.value = username;
}
if (password) {
  passwordInput.value = password;
}
if (remember) {
  rememberInput.checked = true;
}

// 当用户提交表单时,将用户信息存储到 cookie 中
form.addEventListener('submit', function (event) {
  if (rememberInput.checked) {
    setCookie('username', usernameInput.value, 7);
    setCookie('password', passwordInput.value, 7);
    setCookie('remember', 'true', 7);
  } else {
    deleteCookie('username');
    deleteCookie('password');
    deleteCookie('remember');
  }
});

在此示例中,我们使用 getCookie() 函数来检查 cookie 中是否存在用户信息,并使用 setCookie() 函数将用户信息保存到 cookie 中。当用户提交表单时,我们将用户信息存储到 cookie 中,并在下次访问网站时自动填充表单。

示例二:使用 cookie 存储用户偏好设置

我们还可以使用 cookie 存储用户偏好设置,比如用户选择的语言、主题等。以下是一个示例:

var languageSelect = document.querySelector('#language-select');
var themeSelect = document.querySelector('#theme-select');

// 检查 cookie 中是否有用户偏好设置
var language = getCookie('language');
var theme = getCookie('theme');

// 如果存在用户偏好设置,自动选中相应的选项
if (language) {
  languageSelect.value = language;
}
if (theme) {
  themeSelect.value = theme;
}

// 当用户更改偏好设置时,将其存储到 cookie 中
languageSelect.addEventListener('change', function () {
  setCookie('language', languageSelect.value, 7);
});
themeSelect.addEventListener('change', function () {
  setCookie('theme', themeSelect.value, 7);
});

在此示例中,我们使用 getCookie() 函数来检查 cookie 中是否存在用户偏好设置,并使用 setCookie() 函数将用户偏好设置保存到 cookie 中。当用户更改偏好设置时,我们将其存储到 cookie 中,并在下次访问网站时自动选中相应的选项。

总结

通过本文,我们了解了如何使用 JavaScript 设置、读取和删除 cookie,并通过两个示例说明了 cookie 在存储用户信息和用户偏好设置方面的应用。希望你能从中获得帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS封装cookie操作函数实例(设置、读取、删除) - Python技术站

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

相关文章

  • javascript字符串替换及字符串分割示例代码

    下面就是关于“javascript字符串替换及字符串分割”的完整攻略。 JavaScript 字符串替换 在 JavaScript 中,可以使用 replace() 方法实现字符串替换功能。该方法接收两个参数,第一个参数是要替换的字符串或正则表达式,第二个参数是新的字符串。 下面是一个简单的示例,代码如下: let str = "hello Jav…

    JavaScript 2023年5月28日
    00
  • Javascript之BOM(window对象)详解

    Javascript之BOM(window对象)详解 什么是BOM 在Web页面中,JavaScript可以调用浏览器提供的API,这些API就组成了BOM。BOM(浏览器对象模型)提供了一组对象,并且每个对象都有相关的属性和方法,可以操作浏览器窗口。BOM除了提供了访问浏览器接口的对象外,还提供了访问用户代理信息的导航对象。其中,window对象是BOM最…

    JavaScript 2023年6月11日
    00
  • js 判断当前时间是否处于某个一个时间段内

    要判断当前时间是否处于某个时间段内可以通过 JavaScript 中的 Date 对象来实现。以下是判断当前时间是否处于某个时间段内的完整攻略: 1. 获取当前时间 获取当前时间可以使用 Date 对象来实现,调用 Date 对象构造函数即可得到当前时间的 Date 实例。例如: const currentTime = new Date(); 2. 定义时间…

    JavaScript 2023年5月27日
    00
  • vue开发利器之unplugin-auto-import的使用

    vue开发利器之unplugin-auto-import的使用 什么是unplugin-auto-import unplugin-auto-import是一个插件,它可以在你编写Vue代码的时候自动向代码中导入需要的Vue或者JS依赖。 它可以自动跟踪依赖并导入所需的内容,避免了手动导入的繁琐步骤,提高了开发效率。 如何使用unplugin-auto-imp…

    JavaScript 2023年6月11日
    00
  • 正则表达式详述 三

    正则表达式详述 三 – 完整攻略 正则表达式的元素 正则表达式(Regular Expression)是由原子和运算符组成的表达式,它可以用来描述字符串的规律和特征。在正则表达式中,原子是最基本的单位,它可以是任何单个字符、一组字符或者特殊的字符。 下面介绍几种常用的正则表达式元素: 字符 在正则表达式中,字符指的是每一个单一的字符,包括字母、数字、标点符号…

    JavaScript 2023年6月10日
    00
  • JS多物体实现缓冲运动效果示例

    JS多物体实现缓冲运动效果示例是一个相对复杂的动画效果,需要涉及到多个物体的运动,同时需要使用缓冲运动算法,可以通过以下步骤进行实现: 1. HTML结构 首先需要在HTML中添加每个物体的标签,可以使用div标签,为每个标签添加一个id用于在JS中操作。 <div id="box1"></div> <div…

    JavaScript 2023年6月11日
    00
  • js 剪切板应用clipboardData详细解析

    JS 剪切板应用 clipboardData 详细解析 简介 JavaScript 使用 clipboardData 接口可以实现网页内容和剪贴板之间的交互。通过该接口,我们可以轻松地将文本、图像等数据从我们的网页复制到用户剪贴板中,也可以从剪贴板中获取用户复制的内容并进行处理。 clipboardData 属性 clipboardData 是一个全局对象,…

    JavaScript 2023年6月11日
    00
  • js判断文件格式及大小的简单实例(必看)

    正如该文章标题所示,该篇文章提供的是一个关于使用JavaScript来判断文件格式及大小的简单实例。文章主要分为两个部分:判断文件格式和判断文件大小。 判断文件格式 如果想要判断一个文件的格式,一般可以通过文件的后缀名来进行判断。比如说,通常”jpeg”后缀的文件都是jpg格式,”png”后缀的文件都是png格式,等等。 下面我们来看一下代码示例: func…

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