js-cookie读写浏览器中的Cookie及其应用
2023-09-14 09:07:18 时间
文档:
安装
CDN
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
npm
npm install js-cookie --save
示例
Cookies.set('name', 'value');
Cookies.get('name'); // => 'value'
Cookies.remove('name');
// JSON
Cookies.set('name', { foo: 'bar' });
Cookies.get('name'); // => '{"foo":"bar"}'
Cookies.getJSON('name'); // => { foo: 'bar' }
注意,如果set
指定了额外参数path 和 domain ,那么get
和remove
有需要指定
测试示例
浏览器控制台进行测试
引入js库文件
$i("https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js")
分别对3个情况进行写入、读取、删除
1. 默认 domain=null
2. 当前子域名 domain: "www.demo.com"
3. 顶级域名 domain: ".demo.com"
测试代码
Cookies.get()
{}
// 设置cookie ,domain最前面的点可以不写
Cookies.set("name", "default")
"name=default; path=/"
Cookies.set("name", "domain", {path:"/", domain: ".demo.com"})
"name=domain; path=/; domain=.demo.com"
Cookies.set("name", "domain-www", {path:"/", domain: "www.demo.com"})
"name=domain-www; path=/; domain=www.demo.com"
// 读取 谁最后设置,读取出来的就是谁
Cookies.get()
{name: "domain-www"}
// 移除
Cookies.remove("name")
undefined
Cookies.remove("name", {path:"/", domain: "www.demo.com"})
undefined
Cookies.remove("name", {path:"/", domain: "demo.com"})
undefined
因为Cookies是基于document.cookie的
document.cookie只有两个操作
// 写(设置和删除):
document.cookie = value
// 读(只能读取key=value,没有属性):
value = document.cookie
应用
在前端项目中,将登录凭证token 保存到本地,并设置过期时间
token.js
import Cookies from 'js-cookie'
const TOKEN_KEY = 'token'
const EXPIRES_DAY = 7; // 有效期 天
// 获取token
export function getToken() {
return Cookies.get(TOKEN_KEY)
}
// 设置token
export function setToken(token) {
let options = {
expires: EXPIRES_DAY,
};
return Cookies.set(TOKEN_KEY, token, options)
}
// 移除token
export function removeToken() {
return Cookies.remove(TOKEN_KEY)
}
相关文章
- js 基于函数伪造的方式实现继承
- H5+JS+CSS3 综合应用
- iOS: JS和Native交互的两种方法,iosjsnative交互
- android客户端和服务端js交互
- js es6深入应用系列(Generator)
- python的前后端分离(一):django+原生js实现get请求
- js实现两个文本框数值的加减乘除运算
- [JS] 应用splice删除多元素时出现的坑
- How is Component.js loaded - backend processing
- UI5应用clone到webIDE后,如何处理无法加载sap-ui-core.js的错误
- 如何使用 multiparty 工具库在 Node.js 应用里解析 multipart form-data 格式的请求
- Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python
- [SAP成都] SAP UI5应用的sap-ui-core.js被加载之前,还有哪些js文件被加载了
- 使用 Dynatrace 对 Node.js 应用的性能数据进行分析
- Angular 应用里的 vendor.js 是用来干什么的?
- 【Auto.js】使用命令删除图片后,更新图库缓存
- js 常用正则表达式
- 中秋不加班:js枚举值enums在业务中的应用案例
- 移动应用滑动屏幕方向判断解决方案,JS判断手势方向
- Javascript混淆与解混淆的那些事儿——JS混淆归结为三类,分别是 eval类型,hash类型,压缩类型
- 超详细的Node.js瓦片拼接教程:从原理到实战,助你轻松完成地图应用开发