我们来详细讲解一下 document.cookie 的使用小结。
我们来详细讲解一下 document.cookie
的使用小结。
一、概述
document.cookie
属性是用于读取和设置 Cookie 的,它可以让我们在客户端存储非常小且不敏感的数据。document.cookie
属性返回所有 cookie 名称及其对应值。但请记住,document.cookie
属性不是一个数组,而是一个字符串,而且无法支持删除 cookie,因为删除 cookie 必须要设置 cookie 的过期时间为过去的日期。
同时,由于 document.cookie
是字符串类型,我们通常需要用到它的各种 API 来解析和修正 cookie。
二、读取 cookie
要读取 cookie,只需要读取 document.cookie
属性即可。它返回以分号(;)分隔的 cookie 名称及其对应值。
console.log(document.cookie); // 输出所有 cookie 名称及其对应的值
三、设置 cookie
要设置 cookie,需要将名称、值以及其他的属性如过期时间、域、路径等使用分号(;)组成的字符串写入 document.cookie
属性即可。如下面这个例子,设置一个名为 color,值为 red 的 cookie,并设置有效期为 7 天:
document.cookie = "color=red; expires=" + new Date(Date.now() + 7*24*60*60*1000).toUTCString();
其中,我们使用 expires
属性设置了 cookie 的过期时间,它的值必须是 GMT 格式时间。这里使用了 new Date()
和 toUTCString()
方法将当前时间加上了 7 天,然后转换为了 GMT 格式时间。
如果要设置其他的属性如域、路径、安全等,也可以在字符串中加入对应的属性名称及其值,如下:
document.cookie = "name=value; domain=example.com; path=/; secure";
上面的例子设置了一个域名为 example.com,路径为根路径 /
,并启用了安全模式的 cookie。
四、删除 cookie
删除 cookie 非常简单,只需要将过期时间设置为过去的日期即可。
document.cookie = "name=value; expires=" + new Date(0).toUTCString();
五、注意事项
- 在设置和删除 cookie 时,请避免在 cookie 值中使用分号(;)和逗号(,),因为这两个符号用于分割 cookie 名称及其属性。
document.cookie
属性通常限制在 4096 个字符,如果超出了这个限制,后续的 cookie 将被忽略。- 由于 cookie 可以被修改,所以请不要在 cookie 中存储敏感信息。可以使用服务器端 session 或者 JWT 等技术来替代。
- JavaScript 只能访问设置在当前域名和路径下的 cookie,不能访问其他域名或路径下的 cookie。
希望这篇使用小结对你有帮助!
本文标题为:document.cookie 使用小结
基础教程推荐
- JavaScript中的Screen屏幕对象 2024-02-09
- JS防止网页被嵌入iframe框架的方法分析 2024-02-08
- md转html(linux) 2023-10-25
- HTML学习总结 2023-10-28
- linux – 使用HTML的GUI库或Window Manager 2023-10-25
- CSS清除浮动 clearfix:after 使用技巧及兼容Firefox等符合W3C标准的浏览器 2024-03-13
- javaScript给元素添加多个class的简单实现 2023-12-01
- 禁止iframe页面的所有js脚本如alert及弹出窗口等 2024-01-06
- css中clearfix清除浮动的用法及其原理示例介绍 2024-03-13
- javascript中href和replace的比较(详解) 2024-02-10