Date Tags jQuery

基本用法

创建 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:});

创建当前页面带有效期 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