一个简单的,轻量级的JQuery插件用来处理浏览器cookie
jquery.cookie.1.4.1 相对与 jquery.cookie.1.3.x 增加了 许多方法
安装
先包括脚本jQuery库后在引用 jquery.cookie.js 文件:
<script src="/path/to/jquery.cookie.js"></script>
用法
创建cookie:
$.cookie('name', 'value');
创建到期的cookie,有效期7天:
$.cookie('name', 'value', { expires: 7 });
创建到期的cookie,有效期7天,有效范围整个网站:
$.cookie(‘name’, ‘value’, { expires: 7, path: ‘/’ });
$.cookie('name', 'value', { expires: 7, path: '/' });
读取Cookie:
$.cookie('name'); // => "value" $.cookie('nothing'); // => undefined 不存在的值
读取所有可用的cookie:返回json对象
$.cookie(); // => { "name": "value" }
删除Cookie:
//当Cookie被成功删除,则返回true,否则为false
$.removeCookie('name'); // => true $.removeCookie('nothing'); // => false $.cookie('name',null);//v1.3中的老方法
//需要使用相同的属性(路径,域),为什么该cookie用写( 删除cookie 需要相同的 作用范围: 路径 域名 )
$.cookie('name', 'value', { path: '/' });
//这是行不通的!错误方法!
$.removeCookie('name'); // => false
//这将工作!正确方法!
$.removeCookie('name', { path: '/' }); // => true
注意:在删除一个cookie时,必须传递被用来设置Cookie,除非你靠着这是默认选项完全相同的路径,域和安全选项。
———————————
组态
raw
默认情况下,cookie值进行编码/写入/读取时,使用encodeURIComponent / decodeURIComponent解码。绕过此设置原料为true:
$.cookie.raw = true;
JSON
打开作为cookie的值传递JSON对象的自动存储。假设JSON.stringify和JSON.parse:
$.cookie.json = true;
————————–
cookie的选项
cookie的属性可以在全球范围通过设置$ .cookie.defaults对象的属性或单独为通过使一个普通目的是选项的参数每次调用$ .cookie()来设置。每看涨期权覆盖默认选项。
到期(单位:天)
expires: 365
定义cookie的生命周期。值可以是将被解释为天从创建或Date对象的时间数。如果省略,cookie变成一个会话cookie。
路径
path: '/'
定义在哪里cookie有效路径。默认情况下,cookie的路径是cookie的创建页面(标准浏览器的行为)的路径。如果你想使其可用于例如在整个域中使用路径:’/’。默认值:在创建cookie的网页的路径。
——————————————–
注意有关Internet Explorer中:
由于底层的WinINET InternetGetCookie实现一个不起眼的错误,如果与含有一个文件名的路径属性设置IE的的document.cookie不会返回的cookie。
(在Internet Explorer中的Cookie内幕(FAQ))
这意味着使用路径中的一个不能设置的路径:window.location.pathname在情况下,这种路径名包含像文件名,以便:/check.html(或至少,例如饼干不能正确地读出)。
域
domain: 'example.com'
定义在哪里cookie有效的域。默认值:在创建cookie的网页的域名。
安全
secure: true
如果为true,cookie的传输需要一个安全协议(HTTPS)。默认值:false。
转换器
提供一个转换函数作为任选最后一个参数进行读取,以cookie的值更改为在飞行一个不同的表示。
实例解析值成数:
$.cookie('foo', '42'); $.cookie('foo', Number); // => 42
与已经使用转义(第三方Cookie)进行编码处理的cookie:
$.cookie.raw = true; $.cookie('foo', unescape);
您可以通过任意转换功能。
官方地址:https://github.com/carhartl/jquery-cookie
备用下载:jquery-cookie-v1.4.1