Open madfour opened 3 years ago
js-cookie是一个简单的,轻量级的处理cookies的js API。
npm install js-cookie --save
// 创建简单的cookie Cookies.set('name', 'value'); // 创建有效期为7天的cookie Cookies.set('name', 'value', { expires: 7 }); // 为当前页创建有效期7天的cookie Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.remove('name'); // 删除cookie时必须是同一个路径。 // 如果值设置了路径,那么不能用简单的delete方法删除值,需要在delete时指定路径 Cookies.set('name', 'value', { path: '' }); Cookies.remove('name'); // 删除失败 Cookies.remove('name', { path: '' }); // 删除成功 // 注意:删除不存在的cookie不会报错也不会有返回 // 获取cookie Cookies.get('name'); // 读取所有的cookie Cookies.get();
如果担心不小心修改掉Cookies中的数据,可以用noConflict方法定义一个新的cookie。
Cookies
noConflict
cookie
var Cookies2 = Cookies.noConflict(); Cookies2.set('name', 'value');
json
js-cookie允许你向cookie中存储json信息。
js-cookie
如果你通过set方法,传入Array或类似对象,而不是简单的string,那么js-cookie会将你传入的数据用JSON.stringify转换为string保存。
set
Array
string
JSON.stringify
Cookies.set('name', { foo: 'bar' }); Cookies.get('name'); // => '{"foo":"bar"}' Cookies.get(); // => { name: '{"foo":"bar"}' }
如果是用getJSON方法获取cookie,那么js-cookie会用JSON.parse解析string并返回。
getJSON
JSON.parse
Cookies.getJSON('name'); // => { foo: 'bar' } Cookies.getJSON(); // => { name: { foo: 'bar' } }
1、expires
expires
定义有效期。如果传入Number,那么单位为天,你也可以传入一个Date对象,表示有效期至Date指定时间。默认情况下cookie有效期截止至用户退出浏览器。
Number
Date
2、path
path
string。表示此cookie对哪个地址可见。默认为”/”。
”/”
3、domain
domain
string。表示此cookie对哪个域名可见。设置后cookie会对所有子域名可见。默认为对创建此cookie的域名和子域名可见。
4、secure
secure
Boolean。true或false,表示cookie传输是否仅支持https。默认为不要求协议必须为https。
Boolean
true
false
https
1、Read
通过withConverter方法可以覆写默认的decode实现,并返回一个新的cookie实例。所有与decode有关的get操作,如Cookies.get()或Cookies.get(‘name’)都会先执行此方法中的代码。
withConverter
Cookies.get()
Cookies.get(‘name’)
document.cookie = 'escaped=%u5317' document.cookie = 'default=%E5%8C%97' var cookies = Cookies.withConverter(function(value, name) { if (name === 'escaped') { return unescape(value) } }) cookies.get('escaped') // 北 cookies.get('default') // 北 cookies.get() // { escaped: '北', default: '北' }
2、Write
和上面一样,创建新的api,覆盖默认的decode
Cookies.withConverter({ read: function (value, name) { // Read converter }, write: function (value, name) { // Write converter } });
详细文档点链接:js-cookie - npm
作用:
js-cookie是一个简单的,轻量级的处理cookies的js API。
安装
API
创建
读取 与 删除值
命名空间
如果担心不小心修改掉
Cookies
中的数据,可以用noConflict
方法定义一个新的cookie
。json
相关js-cookie
允许你向cookie
中存储json
信息。如果你通过
set
方法,传入Array
或类似对象,而不是简单的string
,那么js-cookie会将你传入的数据用JSON.stringify
转换为string
保存。如果是用
getJSON
方法获取cookie
,那么js-cookie
会用JSON.parse
解析string
并返回。set
方法支持的属性1、
expires
定义有效期。如果传入
Number
,那么单位为天,你也可以传入一个Date
对象,表示有效期至Date
指定时间。默认情况下cookie
有效期截止至用户退出浏览器。2、
path
string
。表示此cookie
对哪个地址可见。默认为”/”
。3、
domain
string
。表示此cookie
对哪个域名可见。设置后cookie
会对所有子域名可见。默认为对创建此cookie
的域名和子域名可见。4、
secure
Boolean
。true
或false
,表示cookie
传输是否仅支持https
。默认为不要求协议必须为https
。转换
1、Read
通过
withConverter
方法可以覆写默认的decode实现,并返回一个新的cookie
实例。所有与decode有关的get操作,如Cookies.get()
或Cookies.get(‘name’)
都会先执行此方法中的代码。2、Write
和上面一样,创建新的api,覆盖默认的decode