js-cookie 易使用、轻量级处理cookies的方法

5 篇文章 0 订阅
5 篇文章 0 订阅

js-cookie 易使用、轻量级处理cookies的方法

创建cookie

// 创建cookie
Cookies.set('key', 'value');
// expires-创建有效期为30天的cookie
Cookies.set('key', 'value', { expires: 30 });
// path - 为home页创建有效期30天的cookie
Cookies.set('key', 'value', { expires: 30, path: '/home' });
// 参数介绍
expires:定义有效期
  Number:天,
  Date:至指定日期
  默认:退出浏览器
  
path:cookie对哪个地址可见
  string:地址
  默认: '/'。

domain:cookie对哪个域名可见
  string:可见域名,对子域名均可见;设置后cookie会对所有子域名可见。
  默认:对创建此cookie的域名和子域名可见。

secure
  Boolean:表示cookie传输是否仅支持https。
  默认:http。

取值

// 获取cookie
Cookies.get('key'); // 'value'|| undefined
// 获取所有cookie
Cookies.get(); // => { key: 'value' }

删除

// 删除cookie
Cookies.remove('key');
// 若设置path,删除时同样也得携带path
Cookies.remove('name', { path: '' }); 
// 删除不存在的cookie时不报错

命名空间

noConflict方法定义一个新的cookie,不与原cookies的命名冲突

var Cookies2 = Cookies.noConflict();
Cookies2.set('key', 'value');

json相关

js-cookie允许你向cookie中存储json信息。
set方法,传入的值为Array或对象时,会将数据JSON.stringify转换为string保存。

Cookies.set('key', { key: 'value' });
Cookies.get('key'); // '{"key":"value"}'
Cookies.get(); // { key: '{"key":"value"}' }

//可用getJSON方法获取cookie
Cookies.getJSON('key'); // => { key: 'value' }
Cookies.getJSON(); // => { key: { key: 'value' } }

其他

1.read

通过withConverter方法可以覆写默认的decode实现,并返回一个新的cookie实例。所有与decode有关的get操作,如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

通过withConverter方法也可以覆写默认的encode实现,并返回一个新的cookie实例。

Cookies.withConverter({
    read: function (value, name) {
        // Read converter
    },
    write: function (value, name) {
        // Write converter
    }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值