读取、 写入和删除 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.stringifyJSON.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,如果它用包含文件名的路径属性设置。

(从互联网资源管理器中的 Cookie 内件 (FAQ))

这意味着一个不能设置路径使用path: window.location.pathname在这种路径名包含一个文件名的情况下就像这样: /check.html (或者至少,不能正确读取这种 cookie)。

domain: 'example.com'

定义 cookie 有效的域。默认值: 域的页面在其中创建 cookie。

确保安全

secure: true

如果为 true,则 cookie 传输要求安全的协议 (https)。默认值: false.