基本用法
创建 cookie:
$.cookie('name', 'value');
创建具有有效期的 cookie:
$.cookie('name', 'value', {expires: 7});
创建具有有效期的 cookie,全站有效:
$.cookie('name', 'value', {expires: 7, path: '/'});
读取 cookie:
$.cookie('name');
读取全部 cookie:
$.cookie();
删除 cookie:
$.removeCookie('name');
// Need to use the same attributes (path, domain) as what the cookie was written with
$.cookie('name', 'value', {path: '/'});
// this won't work
$.removeCookie('name');
// this will work
$.removeCookie('name', {path: '/'});
jquery-cookies 默认对 cookie 进行编码和解码(encodeURIComponent/decodeURIComponent),修改默认行为:
$.cookie.raw = true;
开启自动存储 JSON 对象:
$.cookie.json = true;
设置全局选项 $.cookie.defaults
,包括 expires, path, domain, secure。
在读取 cookie 值时,将函数传入作为第二个参数,可以值类型转换器。
$.cookie('foo', '42');
$.cookie('foo', Number); // return 42
js-cookie
jquery-cookies 项目已迁移到 js-cookie,因为该项目并没有太多依赖 jQuery,同时语法也发生略微修改。
基本用法
创建全站 cookie:
Cookies.set('name', 'value');
创建全站带有效期 cookie:
Cookies.set('name', 'value', {expires:7});
创建当前页面带有效期 cookie:
Cookies.set('name', 'value', {expires: 7, path: ''});
读取 cookie:
Cookies.get('name');
读取全部 cookie:
Cookies.get();
删除 cookie:
Cookies.remove('name');
删除含路径 cookie:
Cookies.remove('name', {path: ''});
消除命名空间冲突
var Cookies2 = Cookies.noConflict();
JSON
js-cookie 使用 JSON.stringify 来序列化要记录的数组或 PlainObject,所以你可以直接传入数组或 PlainObject。
Cookies.set('name', {foo: 'bar'});
使用 getJSON 读取解析为 JSON 的 cookie 值:
Cookies.getJSON('name');
IE6-8 需要 JSON-js.
类型转换
Cookies.withConverter(function (value) {
return value.replace(/\+/g, '');
}).get('foo');
Comments
comments powered by Disqus