帮助你简化Cookie操作的javascript类库-cookie.js
做web开发的朋友不可避免的需要处理cookie,以往我们使用javascript处理cookie的过程繁琐并且容易出错,所以往往使用一些现成的处理cookie的javascript代码或者jQuery类库,使用jQuery固然非常不错,但是如果只是为了处理cookie而加载如此大的一个文件,感觉不是非常的划算。今天这里我们介绍一个帮助你简化cookie操作的javascript类库 - cookie.js,它不依赖于任何第三方类库,并且非常小巧,只有1.4kb。希望大家喜欢!
为什么使用cookie.js?
使用原始的javascript处理cookie非常丑陋,document.cookie绝对是最丑陋的javascript功能之一。 使用cookie.js可以非常有效的帮助你处理cookie相关的功能,并且是的功能更加的有趣。
使用方式
导入类库:
<script src="cookie.min.js"></script>
设置cookie:
cookie.set('key', 'value');
或者可以同时设置多个cookie:
cookie.set({
key1: 'value1',
key2: 'value2'
});
当然,cookie.js也支持很多选项,你可以如下方式添加选项:
cookie.set('key', 'value', {
expires: 7, // expires in one week
});
以上代码中,cookie将在一周后过期。
取得cookie
cookie.get('key');
以下取得一个数组key:
cookie.get(['key1', 'key2']);
返回的一个对象,这个对象的keys将是你传的keys,对应的数值将是cookie取得的数值。
你也可以通过这个方法来设置缺省的值:
cookie.get('key', 'default value');
如果有值取回,没有的话,返回default value,同时支持多个key:
cookie.get(['key1', 'key2'], 'default value');
一下两种写法一样,cookie()是cookie.get()的缩写方式:
cookie.get('key');
// 一样效果
cookie('key');
取得所有cookie
var cookies = cookie.all();
取得所有保存的cookie,返回一个包含所有cookie的对象。
删除cookie
删除所有cookie,可以是一个key或者多个key
cookie.remove('key');
cookie.remove('key1', 'key2');
cookie.remove(['key1', 'key2']);
清空cookie
cookie.empty()
测试cookie是否可用
if (cookie.enabled()) {
// Do stuff with cookies
} else {
// Display error message or use localStorage
}
以上方式测试是否当前的cookie可用,如果不可用你可能需要考虑使用fallback方式来处理。
链式操作
cookie.empty().set('key', 'value').set('key2', 'value2').remove('key1');
主要参数: