日期:2012-4-24 来源:GBin1.com
做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');
主要参数:
选项 | 选项值 | 缺省值 |
---|---|---|
expires | 用来设置过期天数的数字,可以是GMTStringformat或者一个日期对象 | 浏览器关闭就过期 |
domain | 一个用来指定域名的字符串 | 当前域名 |
path | 指定cookie访问的路径 | 当前路径 |
secure | 是否需要使用安全链接来访问cookie | false |