jc-cookies 中文文档


作 者:jclee95
邮 箱:291148484@163.com
本文地址:https://blog.csdn.net/qq_28550263/article/details/122098726


简介

jc-cookies 是一个TypeScript/JavaScript库,它提供简便地操作浏览器cookie的相关方法。使用本库,能够为cookie的增删改查提供一些方便。

目录

  1. 安装
  2. 快速入门
    2.1 创建 Cookie 实例
    2.2 查询现有cookie
    2.2.1 查询整个cookie
    (1) 以JavaScript 字符串 的形式返回
    (2) 以 JavaScript 对象 的形式返回
    (3) 以 JavaScript 映射(Map)的形式返回
    2.2.2 查询cookie指定键对应的值
    (1)通过键查询值字符串
    (2)将 Json字符串解析为 Javascript 对象返回
    2.3 遍历 cookie
    2.4 写入 cookie
    2.4.1 添加单个 cookie
    2.4.2 添加多个 cookie
    2.4.3 将一个字符串序列化为JSON字符串存储
    2.5 删除 cookie
    2.5.1 删除某个 cookie 键值对
    2.5.2 清理所有 cookie

1. 安装

npm

npm install jc-cookies

yarn

yarn add jc-cookies

2. 快速入门

2.1 创建 Cookie 实例

Cookie对象提供对浏览器中cookies进行增删改查的方法,您只需要导入它并创建其实例即可使用。

import { Cookie } from 'jc-cookies'let storage = new Cookie()

2.2 查询现有cookie

2.2.1 查询整个cookie

(1) 以JavaScript 字符串 的形式返回

gettercookie_string
示例:

import { Cookie } from 'jc-cookies'let storage = new Cookie()
let s = storage.cookie_string

(2) 以 JavaScript 对象 的形式返回

gettercookie_obj
示例:

import { Cookie } from 'jc-cookies'let storage = new Cookie()
let s = storage.cookie_obj

【注】你将获得形如下图所示的对象,它包含cookie中的所有键值对。

(3) 以 JavaScript 映射(Map)的形式返回

你还可以将所有cookie取作Map返回。
gettercookies
示例:

import { Cookie } from 'jc-cookies'let storage = new Cookie()
let s = storage.cookies

【注】你将获得形如下图所示的映射(Map),它包含cookie中的所有键值对。

2.2.2 查询cookie指定键对应的值

(1)通过键查询值字符串

method:get(key)
示例:

const v = storag.get('key3')
console.log(v);

假设cookie中存储对应键key3的值为value3,则你将看到如下结果:

如果被查询的键不存在,可以看到错误提示。如指定一个不存在的键ke3

const v = storag.get('ky3')
console.log(v);


可以看到结果不存在时会返回一个undefined作为值。

(2)将 Json字符串解析为 Javascript 对象返回

在之前的例子中,key4对应值的存储字符串{"a":0,"b":1,"c":2}就是可以解析为JavaScript对象的JSON字符串。在后面的 2.4.3 章节中你会看到,可以直接将一个JavaScript序列化为JSON字符串存储到Cookie中,当需要时再通过本方法还原为JavaScript对象,这两者是互为对应的。
method:get_json(key)
示例:

const obj = storage.get_json('key4')
console.log(obj);

如果该对字符串象存在,比如'{"a":0,"b":1,"c":2}',则将看到形如下图的结果:

否则,可以看到错误提示。如指定一个不存在的键ke4

console.log(storage.get_json('ke4'));


可以看到结果不存在时会返回一个undefined作为值,这与get(key)方法时一样的。

2.3 遍历 cookie

通过new Cookie()创所建的对象storage是可迭代的,也就是说你完全可以通过for...of...语句对cookie中的内容进行遍历。
示例:

for(const item of storage){console.log('item =',item);
}

你将看到形如下图所示的控制台打印结果:

2.4 写入 cookie

2.4.1 添加单个 cookie

你可以通过set方法添加单个 cookie ,并指定某些参数。除了keyvalue外,你还可以根据需要来指定expirespathdomain这些参数。其中expires参数既可以是一个表示时间的字符串,也可以是一个表示有效天数的数字。path参数默认为/,表示当前页面。
示例:

// 1天有效期
storage.set({key:'key0',value:'value0',expires:1})

2.4.2 添加多个 cookie

你还可以使用set_cookies()方法一次添加多个cookie键值对。
methodset_cookies(ary)
示例:

const ar:any[] = [{key:'a',value:'1'},{key:'b',value:'2'},{key:'c',value:'3'},
]
const v = storage.set_cookies(ar)

2.4.3 将一个字符串序列化为JSON字符串存储

这里,你可以很方便地将一个字符串序列话为JSON字符串进行存储。
methodset_json()
示例:

const obj = {key:"key5",value:{cn: 'Chinese', en: 'English'}}
storage.set_json()
console.log(storage.cookie_obj)

2.5 删除 cookie

2.5.1 删除某个 cookie 键值对

methoddrop(key)
使用drop方法可以删除cookie中某个特定键名的键值对
示例:

drop('key1')

2.5.2 清理所有 cookie

methodclear()
该方法不需要其它参数,也没有返回值。它将清理所有cookie键值对。
示例:

clear()

【手册】jc-cookies 中文文档相关推荐

  1. socket.io 中文手册 socket.io 中文文档

    socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...

  2. CDH中文文档下载,Cloudera中文手册,CM中文文档

    CDH中文文档下载 链接:https://pan.baidu.com/s/1G-8WCafpPZ3p7ZDeXLcgug  提取码:ubxz

  3. Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档

    我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...

  4. php twig中文手册,安装 · Twig 中文文档 · 看云

    # 安装 其实,安装Twig有多种方法. ### 安装Twig PHP package 通过Composer安装(推荐) 安装 [Composer](https://getcomposer.org/d ...

  5. socket.io 中文手册 socket.io 中文文档

    服务端 io.on('connection',function(socket));//监听客户端连接,回调函数会传递本次连接的socket io.sockets.emit('String',data) ...

  6. mplab x ide 中文使用手册_中文文档:MPLAB ICD 4在线调试器用户指南

    MPLAB® ICD 4在线调试器 用户指南 MPLAB® ICD 4在线调试器(DV164045)是Microchip最快且最经济高效的调试和编程工具,适用于Microchip PIC®.dsPIC ...

  7. lavaral中文手册_Laravel-mix 中文文档

    概览 基本示例 larave-mix 是位于webpack顶层的一个简洁的配置层,在 80% 的情况下使用 laravel mix 会使操作变的非常简单.尽管 webpack 非常的强大,但大部分人都 ...

  8. PureFTPd Readme 中文文档

    PureFTPd 中文文档 网上没搜着多少Pure的中文内容,就配置文件和MySQL的README,寒假在家就把PureFTPd的README文档翻了过来. 好像还有点没翻完,还有点错误,过两天重新整 ...

  9. GitHub 中文文档正式发布

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 中国作为全球最大的人口大国,所属开发者在 GitHub 上的占比自 ...

最新文章

  1. Kostya Keygen#2分析
  2. 走进人工智能,认识机器学习
  3. angularJs 跨控制器与跨页面传值
  4. 身为网络安全的,连BlackMatter勒索软件都不知道,说出去丢不丢人啊
  5. MM定价计算方案确定详细图解
  6. Leet Code OJ 169. Majority Element [Difficulty: Easy]
  7. 智能家居 (7) ——网络服务器线程控制
  8. 内核中架构相关代码简介
  9. bootstrap使用中遇到的坑
  10. 人工智能时代,我们需要什么样的芯片?| 码书
  11. 520 miix 小兵 黑苹果_【黑果小兵】macOS Big Sur 11.0.1 20B50 正式版 with Clover 5126 黑苹果系统镜像下载...
  12. JDK下载与安装详细步骤
  13. 智能网联汽车 自动驾驶功能场地试验方法及要求
  14. 查询域名对应的IP以及查询该IP是否已经备案开放80端口
  15. 小武与python的相遇1 - strip-replace的使用
  16. 如何修改Linux字体大小,如何更改字体并调整字体大小?
  17. 洛谷 P1618 STL全排列方法
  18. mysql中varchar与oracle中varchar2区别
  19. CSS 布局 - grid - 二维布局方法 - 网格布局
  20. Redis 入门与数据结构

热门文章

  1. 剑指offer——面试题61:按之字形顺序打印二叉树
  2. auto和decltype的用法总结
  3. 如何理解 scanf(%*s,str)?
  4. 【深度学习】什么是深度学习-1
  5. 对 BatchNormalization 中 Internal Convariate Shift 的理解
  6. 卷积/反卷积前后的张量尺寸计算
  7. Android和H5交互-基础篇
  8. Visual Studio 2008 集成SP1补丁
  9. 多线程程序中操作的原子性--转帖
  10. Delphi 与 DirectX 之 DelphiX(60): TDIB.DoTrace();