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

下面我来为你详细讲解“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日

相关文章

  • CocosCreator入门教程之用TS制作第一个游戏

    Cocos Creator是一个非常优秀的游戏开发引擎,支持多平台的游戏开发。本文将介绍如何使用Cocos Creator和TypeScript(TS)来创建第一个简单的游戏。 准备工作 在开始之前,需要做以下准备工作: 下载安装Cocos Creator:可以在Cocos官网上下载对应的版本,根据自己的实际情况选择对应的操作系统和版本号。 安装好之后,打开…

    JavaScript 2023年6月10日
    00
  • Javascript中的几种URL编码方法比较

    当需要在Javascript代码中处理URL时,会涉及到URL编码的问题。Javascript中有多种URL编码方法可供选择,本攻略将详细讲解这些方法的使用方式以及比较优劣。 1. encodeURIComponent和encodeURI 使用encodeURIComponent和encodeURI两个方法可以将URL编码为可传输的格式。 1.1 测试示例 …

    JavaScript 2023年5月20日
    00
  • js 数组详细操作方法及解析合集

    JS 数组详细操作方法及解析合集 什么是数组? 在JavaScript中,数组是一种存储多个值的有序集合。数组中的每个值称为一个元素,每个元素都有一个相应的数字键(称为索引)来标识其在数组中的位置。 创建数组 在JavaScript中,有多种方式来创建数组。下面是一些示例: 使用数组字面量 数组字面量是用方括号 [] 包围并由逗号分隔构成的值序列,如下所示:…

    JavaScript 2023年5月18日
    00
  • AS3 js正则表达式 反向引用(backreference)

    AS3是指Adobe Flash平台的ActionScript语言版本3,而JS则是指JavaScript语言。在这两者中,都可以使用正则表达式(Regular Expression)来匹配和处理字符串。反向引用(Backreference)是正则表达式中的元字符之一,其可以用于匹配已经匹配过的子模式。 反向引用的语法为“\数字”,其中“数字”表示前面已经定…

    JavaScript 2023年6月10日
    00
  • 防止文件缓存的js代码

    在网站开发中,我们很有可能会更新或者修改一些静态资源文件,比如javascript文件、CSS文件、图片等等,如果浏览器对这些文件进行了缓存,就会导致用户在访问网站时看到的是旧版本的文件,从而影响用户体验。为了解决这个问题,我们需要在网站中加入一些防止文件缓存的javascript代码。下面就是一些防止文件缓存的js代码示例及解释。 1. 在文件的URL后面…

    JavaScript 2023年5月27日
    00
  • JS判断页面加载状态以及添加遮罩和缓冲动画的代码

    JS判断页面加载状态以及添加遮罩和缓冲动画的代码是前端开发中常见的需求。以下为完整攻略。 判断页面加载状态 判断页面的加载状态可以使用window对象的load和DOMContentLoaded事件。需要注意的是,load事件会在页面的所有资源(包括图片、音频、视频等)都加载完成后才触发,而DOMContentLoaded事件则是在页面DOM结构加载完成后就…

    JavaScript 2023年6月10日
    00
  • js中日期的加减法

    关于 JS 中日期的加减法,我们可以使用内置的 Date 对象进行处理。 基本用法 Date 对象可以使用以下方式创建: const now = new Date(); const someDate = new Date(‘2022-01-01’); const someDateTime = new Date(‘2022-01-01T12:00:00Z’);…

    JavaScript 2023年5月27日
    00
  • JavaScript整除运算函数ceil和floor的区别分析

    下面我来为你讲解一下“JavaScript整除运算函数ceil和floor的区别分析”。 1. 序言 在 JavaScript 中,Math.ceil() 和 Math.floor() 都是用于实现上取整和下取整操作的函数。在实际开发过程中,这两个函数经常被用来计算数据的精度。但是这两个函数之间还是有一些微小的差异,接下来我们将会逐一解释它们之间的区别。 2…

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