千家信息网

JavaScript中如何对Cookie进行操作

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容主要讲解"JavaScript中如何对Cookie进行操作",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript中如何对Cookie进
千家信息网最后更新 2025年01月31日JavaScript中如何对Cookie进行操作

本篇内容主要讲解"JavaScript中如何对Cookie进行操作",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript中如何对Cookie进行操作"吧!

Cookie 只是存储在计算机浏览器中的小型文本文件。它们包含以下数据:

  • 保存数据的 Name-value 对

  • 日期到期时,该 cookie 失效

  • 应将其发送到的服务器的域和路径

而cookie也有一些值得一提的限制:

  • 每个cookie的最大为 4096 字节

  • 每个域最多20个cookie(每个浏览器略有不同)

  • Cookie是其自己的域名专用的(网站无法读取其他域的 Cookie,只能是它自己的)

  • 大小限制适用于整个cookie,而不仅仅是它的值

在浏览器中,cookie通过 DOM 被公开为 [xss_clean]s。

下面我们将介绍如何用 JavaScript 在浏览器中设置、获取、更新和删除 Cookie 数据。

Create Cookies

用 JavaScript 在浏览器中设置 cookie 非常简单!我将在下面向你展示。

(1) 设置 Cookie

以下是在浏览器中用 JavaScript 创建新 cookie 的执行代码:

[xss_clean] = "userId=nick123"

运行该代码后,打开浏览器,你应该能在开发者工具的 Application(Safari 或Chrome)或 Storage(Firefox)中找到该 cookie。

(2) 设置 cookie 的过期时间

你还可以向 Cookie 中添加过期时间(UTC),告知浏览器应该在什么时候将其删除:

[xss_clean] = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC"

(3) 设置一个 Cookie 路径

你还可以告诉浏览器 cookie 所属的路径(默认值是当前页面的路径):

[xss_clean] = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user"

(4) 设置 cookie 域

我们将介绍的最后一段数据是 cookie 所属的域(默认为当前域):

[xss_clean] = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user; domain=mysite.com"

Read Cookies

通过 [xss_clean] 对象,用 JavaScript 读取 cookie 也非常简单:

(1) 读取单个页面所有的 Cookie

将单个页面的所有 cookie 作为字符串获取,每个 cookie 用分号分隔:

const cookies = [xss_clean]

(2) 读取具有特定名称的Cookie

要访问具有特定名称的 cookie,我们需要获取页面上所有的 cookie 并解析字符串,然后查找我们想要寻找的 cookie 名称的匹配项。

这是一个用正则表达式完成此任务的函数:

function getCookieValue(name) {   let result = [xss_clean].match("(^|[^;]+)\\s*" + name + "\\s*=\\s*([^;]+)")   return result ? result.pop() : "" }

你这样使用该函数:

getCookieValue("userId") //returns nick123

这将返回与提供给函数的 name 参数对应的字符串值。

如果你还没有掌握正则表达式,还有另一个同样功能的函数:

function getCookieValue(name) {   const namenameString = name + "="      const value = [xss_clean].split(";").filter(item => {     return item.includes(nameString)   })      if (value.length) {     return value[0].substring(nameString.length, value[0].length)   } else {     return ""   } }

用相同的方法使用该函数:

getCookieValue("userId") //returns nick123

Update Cookies

你可以通过创建的方式用新值覆盖 cookie 来更改它的值。

你可以用此代码覆盖本文前面创建的 cookie "userId" :

[xss_clean] = "userId=new_value"

当你再次运行 getCookieValue 函数时,将返回新值:

getCookieValue("userId") //returns new_value

Delete Cookies

你可以给 cookie 设置一个空值,并将其过期日期设置为过去的任意时间来删除 cookie。

如果我们想要删除前面例子的 cookie "userId" ,请按以下步骤操作:

[xss_clean] = "userId=; expires=Thu, 01 Jan 1970 00:00:00 UTC;"

到此,相信大家对"JavaScript中如何对Cookie进行操作"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

浏览器 浏览 函数 数据 路径 页面 代码 名称 字符 字符串 时间 内容 单个 所属 方法 日期 正则 网站 表达式 中设 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 社会保障软件开发单位 oracle数据库替换字段内容 安卓的sqlite数据库 维护我国网络安全的对策 科技对互联网银行的驱动 潍坊学院数据库应用开发及实践 kodi连接nas无法连接网络服务器 南电继保软件开发工作 软件开发与软件代码哪个就业好 服务器加不进mod 数据库安全系统有哪些 mpp数据库事务数超了 微软商店怎么连接国内服务器 设置服务器拨号 腾讯云数据库访问权限 系统中的软件开发 无法连接到组织激活服务器 网络安全融合基地 yii的数据库语法 昆明gps授时服务器 国家网络安全学院是公办吗 机关企业网络安全调研报告 哈利学院活动需要同服务器吗 金融行业sql数据库 杭州阿里久久网络技术有限公司 属于网络安全服务机构有哪些 惠普服务器显示英文无法启动 数据库管理系统的常见故障 方舟手游怎么看服务器开服时间 椒江软件开发公司
0