返回介绍

saber-cookie v0.1.3

发布于 2023-10-15 20:10:06 字数 4160 浏览 0 评论 0 收藏 0

saber-cookie Build Status

适合移动端的Cookie封装

Usage

通过edp引入模块

edp import saber-cookie

使用示例:

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 );
});

API

Cookie.get( name [, options] )

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

参数

name {string} cookie的键名

options {Object} 参数可选,支持的配置项:

  • raw {boolean} 是否不自动解码(decodeURIComponent), 为true时会获取未经过解码的cookie原始存储值

示例

// 获取键名为 mycookie 的cookie值
Cookie.get( 'mycookie' );

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

Cookie.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会以未编码的原始值存储

示例

// 默认(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 } );

Cookie.remove( name [, options] )

删除键名为name的cookie

参数

name {string} cookie的键名

options {Object} 参数可选,支持的配置项:

  • domain {string} cookie的域名
  • path {string} cookie路径
  • secure {boolean} cookie是否安全传输

示例

// 删除键名为 mycookie 的cookie
Cookie.remove( 'mycookie' );

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

===

Saber

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文