轻量级JS Cookie插件js-cookie的使用方法


Posted in Javascript onMarch 22, 2018

Cookie是网站设计者放置在客户端的小文本文件,一般后台语言使用的比较多,可以实现用户个性化的一些需求。js-cookie插件是一个JS操作cookie的插件,源文件只有3.34 KB,非常轻量级。js-cookie也支持npm和Bower安装和管理。下面看看js-cookie的具体用法。

A simple, lightweight JavaScript API for handling cookies

Works in all browsers
Accepts any character
Heavily tested
No dependency
Unobtrusive JSON support
Supports AMD/CommonJS
RFC 6265 compliant
Useful Wiki
Enable custom encoding/decoding
~900 bytes gzipped!

引用方法:

1、引入js-cookie.js

1.直接饮用cdn:<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>

2.本地下载下来后:<script src="/path/to/js.cookie.js"></script>

3.模块化开发时: import Cookies from 'js-cookie'

2、js-cookie.js常用的API和方法

a、设置cookie

Cookies.set('name', 'value', { expires: 7, path: '' });//7天过期

Cookies.set('name', { foo: 'bar' });//设置一个json

b、读取cookie

Cookies.get('name');//获取cookie

Cookies.get(); #读取所有的cookie

c、删除cookie

Cookies.remove('name'); #删除cookie时必须是同一个路径。

下面是国外的介绍

Basic Usage

Create a cookie, valid across the entire site:

Cookies.set('name', 'value');

Create a cookie that expires 7 days from now, valid across the entire site:

Cookies.set('name', 'value', { expires: 7 });

Create an expiring cookie, valid to the path of the current page:

Cookies.set('name', 'value', { expires: 7, path: '' });

Read cookie:

Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined

Read all visible cookies:

Cookies.get(); // => { name: 'value' }

Delete cookie:

Cookies.remove('name');

Delete a cookie valid to the path of the current page:

Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed!

IMPORTANT! When deleting a cookie, you must pass the exact same path and domain attributes that were used to set the cookie, unless you're relying on the default attributes.

Note: Removing a nonexistent cookie does not raise any exception nor return any value.

Namespace conflicts

If there is any danger of a conflict with the namespace Cookies, the noConflict method will allow you to define a new namespace and preserve the original one. This is especially useful when running the script on third party sites e.g. as part of a widget or SDK.

// Assign the js-cookie api to a different variable and restore the original "window.Cookies"

var Cookies2 = Cookies.noConflict();
Cookies2.set('name', 'value');

Note: The .noConflict method is not necessary when using AMD or CommonJS, thus it is not exposed in those environments.

JSON

js-cookie provides unobtrusive JSON storage for cookies.

When creating a cookie you can pass an Array or Object Literal instead of a string in the value. If you do so, js-cookie will store the string representation of the object according to JSON.stringify:

Cookies.set('name', { foo: 'bar' });

When reading a cookie with the default Cookies.get api, you receive the string representation stored in the cookie:

Cookies.get('name'); // => '{"foo":"bar"}'
Cookies.get(); // => { name: '{"foo":"bar"}' }

When reading a cookie with the Cookies.getJSON api, you receive the parsed representation of the string stored in the cookie according to JSON.parse:

Cookies.getJSON('name'); // => { foo: 'bar' }
Cookies.getJSON(); // => { name: { foo: 'bar' } }

Note: To support IE6-7 (and IE 8 compatibility mode) you need to include the JSON-js polyfill: https://github.com/douglascrockford/JSON-js

更多的可以参考官方说明:

https://github.com/js-cookie/js-cookie

https://www.npmjs.com/package/js-cookie

Javascript 相关文章推荐
解决json日期格式问题的3种方法
Feb 02 Javascript
jQuery select表单提交省市区城市三级联动核心代码
Jun 09 Javascript
Node.js编码规范
Jul 14 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
JavaScript中关联原型链属性特性
Feb 13 Javascript
AngularJS延迟加载html template
Jul 27 Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
Nov 17 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
js 概率计算(简单版)
Sep 12 Javascript
如何在js代码中消灭for循环实例详解
Jul 29 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
浅谈Webpack 持久化缓存实践
Mar 22 #Javascript
深入浅析Vue.js中 computed和methods不同机制
Mar 22 #Javascript
Java设计中的Builder模式的介绍
Mar 22 #Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 #Javascript
收集前端面试题之url、href、src
Mar 22 #Javascript
vue 的keep-alive缓存功能的实现
Mar 22 #Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 #Javascript
You might like
php读取javascript设置的cookies的代码
2010/04/12 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
初识Laravel
2014/10/30 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
python提示No module named images的解决方法
2014/09/29 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Python 实现一个计时器
2020/07/28 Python
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
股权投资意向书
2014/04/01 职场文书
演讲稿的写法
2014/05/19 职场文书
提拔干部考察材料
2014/05/26 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
医院党建工作总结2015
2015/05/26 职场文书
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js