js-cookie中⽂⽂档
说明
js-cookie是⼀个简单的,轻量级的。
API
创建
//创建简单的cookie
Cookies.set('name', 'value');
//创建有效期为7天的cookie
Cookies.set('name', 'value', { expires: 7 });
//为当前页创建有效期7天的cookie
Cookies.set('name', 'value', { expires: 7, path: '' });
取值
<('name'); // => 'value'
<('nothing'); // => undefined
//获取所有cookie
javascript说明<(); // => { name: 'value' }
删除值
//如果值设置了路径,那么不能⽤简单的delete⽅法删除值,需要在delete时指定路径
Cookies.set('name', 'value', { path: '' });
/
/注意,删除不存在的cookie不会报错也不会有返回
命名空间
如果担⼼不⼩⼼修改掉Cookies中的数据,可以⽤noConflict⽅法定义⼀个新的cookie。
var Cookies2 = Conflict();
Cookies2.set('name', 'value');
json相关
js-cookie允许你向cookie中存储json信息。
如果你通过set⽅法,传⼊Array或类似对象,⽽不是简单的string,那么js-cookie会将你传⼊的数据⽤JSON.stringify转换为string保存。
Cookies.set('name', { foo: 'bar' });
<('name'); // => '{"foo":"bar"}'
<(); // => { name: '{"foo":"bar"}' }
如果你⽤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
true或false,表⽰cookie传输是否仅⽀持https。默认为不要求协议必须为https。
骚操作
通过withConverter⽅法可以覆写默认的decode实现,并返回⼀个新的cookie实例。所有与decode有关的get操作,如
<()或(‘name’)都会先执⾏此⽅法中的代码。
var cookies = Cookies.withConverter(function(value, name) {
if ( name === 'escaped' ) {
return unescape(value);
}
});
<('escaped'); // 北
<('default'); // 北
<(); // { escaped: '北', default: '北' }
2.write
通过withConverter⽅法也可以覆写默认的encode实现,并返回⼀个新的cookie实例。
Cookies.withConverter({
read: function(value, name) {
// Read converter
},
write: function(value, name) {
// Write converter
}
});