2.0.0-alpha.2 • Published 9 years ago

saber-cookie v2.0.0-alpha.2

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

saber-cookie Build Status

适合移动端的Cookie封装

Installation

通过 edp 引入模块:

edp import saber-cookie

Usage

require('saber-cookie', function(Cookie) {
    // create a cookie (page-session)
    Cookie.set('__saber_test', 'saber');
    
    // get a cookie with given name
    var val = Cookie.get('__saber_test');
    console.info(val);
    
    // create a cookie with expires (1 day)
    Cookie.set(
        '__saber_1d',
        '1day',
        {expires: 1 * 24 * 60 * 60 * 1000}
    );
    console.info(Cookie.get('__saber_1d'));
    
    // create a cookie with path
    Cookie.set(
        '__saber_root',
        'root',
        {path: '/'}
    );
    console.info(Cookie.get('__saber_root'));
    
    // create a cookie with domain
    Cookie.set(
        '__saber_host',
        {domain: document.domain}
    );
    console.info(Cookie.get('__saber_host'));
    
    // create a cookie with raw value
    Cookie.set(
        '__saber_raw',
        'hello, saber',
        {raw: true}
    );
    console.info(
        'decoded: %s , raw: %s',
        Cookie.get('__saber_raw'),
        Cookie.get('__saber_raw', {raw: true})
    );
    
    // remove a cookie
    Cookie.set('__saber_remove', 'xx');
    var beforeVal = Cookie.get('__saber_remove');
    Cookie.remove('__saber_remove');
    var afterVal = Cookie.get('__saber_remove');
    console.info('before: %s , after: %s', beforeVal, afterVal);
});

Methods

get(name , options)

获取键名为 name 的 cookie 值,若 cookie 不存在或 name 为空,则返回 null

  • name {string} cookie的键名
  • options {Object} 参数可选,支持的配置项:
    • raw {boolean} 是否不自动解码(decodeURIComponent), 为true时会获取未经过解码的cookie原始存储值
  • return {string}
// 获取键名为 mycookie 的 cookie 值
Cookie.get('mycookie');

// 获取键名为 rawcookie 的未解码的 cookie 存储值
Cookie.get('rawcookie', {raw: true});

set(name, value, options)

设置键名为 name,值为 value 的新 cookie

  • name {string} cookie的键名
  • value {string} cookie的原始值
  • options {Object} 参数可选,支持的配置项:
    • expires {Date|Number} cookie的过期时间, 为数字时单位为毫秒
    • domain {string} cookie的域名
    • path {string} cookie路径
    • secure {boolean} cookie是否安全传输
    • raw {boolean} 是否不自动编码(encodeURIComponent), 为true时参数value会以未编码的原始值存储
  • return {void}
// 默认(session级)的新cookie
Cookie.set('test1', 'session cookie');

// 设置了有1天效期的新cookie
Cookie.set('test2', 'baidu', {
    expires: 1 * 24 * 60 * 60 * 1000
});

// 设置了路径的新cookie
Cookie.set('test3', 'baidu', {path: '/'});

// 设置了域名的新cookie
Cookie.set('test4', 'baidu', {domain: 'baidu.com'});

// 设置了安全传输的新cookie
Cookie.set('test5', 'baidu', {secure: true});

// 禁用自动编码(encodeURIComponent)的cookie
Cookie.set('test6', 'hello, saber', {raw: true});

remove(name, options)

删除键名为 name 的 cookie

  • name {string} cookie的键名
  • options {Object} 参数可选,支持的配置项:
    • domain {string} cookie的域名
    • path {string} cookie路径
    • secure {boolean} cookie是否安全传输
  • return {void}
// 删除键名为 mycookie 的 cookie
Cookie.remove('mycookie');

// 删除 `baidu.com` 域下,路径为 `/` 的键名为 `othercookie` 的 cookie
Cookie.remove('othercookie', {domain: 'baidu.com', path: '/'});