读取、 写入和删除 cookie 的简单、 轻量的 jQuery 插件。
安装
包括脚本后jQuery 库 (除非你是某种程度上别的包装脚本):
不包括直接从 GitHub (http://raw.github.com/...) 脚本。该文件是作为文本/平原和这种被阻止互联网资源管理器在 Windows 7 中,例如 (因为错误的 MIME 类型) 提供服务。底线: GitHub 不是 CDN。
也可以作为 AMD 模块加载插件。
用法
创建会话 cookie:
$.cookie('the_cookie', 'the_value');
创建过期的 cookie,然后从 7 天:
$.cookie('the_cookie', 'the_value', { expires: 7 });
创建过期的 cookie,横跨整个站点有效:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
读取 cookie:
$.cookie('the_cookie'); // => "the_value" $.cookie('not_existing'); // => undefined
读取所有可用 cookie:
$.cookie(); // => { "the_cookie": "the_value", "...remaining": "cookies" }
删除 cookie:
// Returns true when cookie was found, false when no cookie was found... $.removeCookie('the_cookie'); // Same path as when the cookie was written... $.removeCookie('the_cookie', { path: '/' });
注意: 在删除 cookie 时,您必须传递确切相同的路径、 域和安全选项用来设置 cookie,除非你依靠这是默认选项。
配置
原料
默认情况下的 cookie 值进行编码/解码时写/读,使用encodeURIComponent
/decodeURIComponent
。绕过这通过设置原料为 true:
$.cookie.raw = true;
json
打开自动存储的 JSON 对象作为 cookie 值传递。假定JSON.stringify
和JSON.parse
:
$.cookie.json = true;
Cookie 选项
Cookie 属性可以通过设置属性的全局设置$.cookie.defaults
对象或单独为每个呼叫到$.cookie()
通过将一个普通的对象传递给该选项参数。每次调用选项重写默认的选项。
过期
expires: 365
定义 cookie 的有效期。值可以是一个Number
,将被解释为天从创作或Date
对象的时间。如果省略,cookie 将成为会话 cookie。
路径
path: '/'
定义 cookie 有效的路径。,默认情况下,cookie 的路径是的页创建 cookie 的 (标准的浏览器行为) 的路径。如果你想要使其可用,例如跨整个域使用path: '/'
。默认值: 创建 cookie 时所在的页面的路径。
关于互联网资源管理器中,请注意:
由于在 WinINET InternetGetCookie 的基础实现中不明显的缺陷,IE 的它不会返回一个 cookie,如果它用包含文件名的路径属性设置。
这意味着一个不能设置路径使用path: window.location.pathname
在这种路径名包含一个文件名的情况下就像这样: /check.html
(或者至少,不能正确读取这种 cookie)。
域
domain: 'example.com'
定义 cookie 有效的域。默认值: 域的页面在其中创建 cookie。
确保安全
secure: true
如果为 true,则 cookie 传输要求安全的协议 (https)。默认值: false
.