当前位置:K88软件开发文章中心编程语言JavaScriptJS01 → 文章内容

原生js和jquery处理cookie的插件介绍

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 8:50:24

-->

jquery.cookie插件库和js.cookie的作者都是Klaus Hartl (github地址:https://github.com/carhartl)。这两个都可以读、写和删除cookie。

两个库的下载地址

链接:http://pan.baidu.com/s/1i5M4ne1 密码:9pum

js.cookie 库介绍

一个简单的、轻量级的javascript api来处理cookie

1、演示图

2、浏览器兼容性情况

3、下载

直接点击这里下载

最新版请访问官方github

或者通过 npm 、Bower 下载,名字为

1
js-cookie

4、使用

  • 创建一个整站cookie
1
Cookies.set('name', 'value');
  • 创建一个整站cookie ,cookie 的有效期为 7 天
1
Cookies.set('name', 'value', { expires: 7 });
  • 创建一个仅对
    1
    path

    路径页面有效的 cookie ,cookie 的有效期为 7 天

1
Cookies.set('name', 'value', { expires: 7, path: '' });
  • 读取 cookie
1
2
Cookies.get('name'); // 如果cookie存在 则获取到cookie值 => 'value'
Cookies.get('nothing'); // 如果cookie不存在 则返回 => undefined
  • 获取所有可见的 cookie
1
Cookies.get(); // 数据格式 => { name: 'value' }

  • 删除 cookie
1
Cookies.remove('name');
  • 删除
    1
    path

    路径下的 cookie

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

5、命名空间冲突问题

如果

1
Cookies

存在命名空间冲突问题,

1
noConflict

函数可以解决这个问题

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

6、JSON

1
2
3
Cookies.set('name', { foo: 'bar' });
Cookies.get('name'); // => '{"foo":"bar"}'
Cookies.get(); // => { name: '{"foo":"bar"}' }

Cookies.getJSON 的使用

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

7、属性

domain

创建cookie所在网页所拥有的域名

1
2
Cookies.set('name', 'value', { domain: 'weber.pub' });
Cookies.get('name'); // => undefined (需要读取 'weber.pub' 这个域名下的 cookie)

secure

默认是false,如果为true,cookie的传输协议需为https;

1
2
3
Cookies.set('name', 'value', { secure: true });
Cookies.get('name'); // => 'value'
Cookies.remove('name', { secure: true });

jquery.cookie 介绍

一个简单的、轻量级的jQuery插件来处理cookie的读写和删除。

1、依赖jQuery库

2、浏览器兼容性情况

3、下载

官方github:https://github.com/carhartl/jquery-cookie

4、使用

  • 创建一个整站cookie
1
$.cookie('name', 'value');
  • 创建一个整站cookie ,cookie 的有效期为 7 天
1
$.cookie('name', 'value', { expires: 7 });
  • 创建一个仅对
    1
    path

    路径页面有效的 cookie ,cookie 的有效期为 7 天

1
$.cookie('name', 'value', { expires: 7, path: '/' });
  • 读取 cookie
1
2
$.cookie('name'); // 如果cookie存在 则获取到cookie值 => 'value'
$.cookie('nothing'); // 如果cookie不存在 则返回 => undefined
  • 获取所有可见的 cookie
1
$.cookie(); // 数据格式 => { name: 'value' }
  • 删除 cookie
1
2
$.removeCookie('name'); // => true
$.removeCookie('nothing'); // => false
  • 删除带属性的cookie
1
2
3
4
5
$.cookie('name', 'value', { path: '/' });
// 错误
$.removeCookie('name'); // => false
// 正确
$.removeCookie('name', { path: '/' }); // => true

5、属性

domain

创建cookie所在网页所拥有的域名

1
$.cookie('name', 'value', { domain: 'weber.pub' });

secure

默认是false,如果为true,cookie的传输协议需为https;

1
2
3
$.cookie('name', 'value', { secure: true });
$.cookie('name'); // => 'value'
$.removeCookie('name', { secure: true });

raw

默认为false,读取和写入时候自动进行编码和解码(使用encodeURIComponent编码,使用decodeURIComponent解码),关闭这个功能,请设置为true。

1
$.cookie.raw = true;

json

1
$.cookie.json = true;

原生js和jquery处理cookie的插件介绍