kalenjordan / jquery-cookie
jQuery-cookie库
Requires
This package is not auto-updated.
Last update: 2024-09-23 15:10:26 UTC
README
一个简单的、轻量级的jQuery插件,用于读取、写入和删除cookie。
安装
在jQuery库之后(除非您以其他方式打包脚本)包含脚本
<script src="/path/to/jquery.cookie.js"></script>
不要直接从GitHub(http://raw.github.com/...)包含脚本。该文件作为纯文本提供服务,因此在Windows 7的Internet Explorer中可能被阻止(因为错误的MIME类型)。总之:GitHub不是一个CDN。
插件也可以作为AMD模块加载。
用法
创建会话cookie
$.cookie('the_cookie', 'the_value');
创建7天后过期的cookie
$.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时完全相同的路径、域名和安全的选项,除非您依赖默认选项。
配置
raw
默认情况下,cookie值在写入/读取时会使用encodeURIComponent
/decodeURIComponent
进行编码/解码。通过将raw设置为true来绕过此功能
$.cookie.raw = true;
json
打开自动存储作为cookie值传递的JSON对象。假设使用JSON.stringify
和JSON.parse
$.cookie.json = true;
Cookie选项
可以通过设置$.cookie.defaults
对象的属性在全局设置cookie属性,或者可以通过将一个普通对象传递给选项参数来为每个调用$.cookie()
设置个别属性。每次调用的选项会覆盖默认选项。
expires
expires: 365
定义cookie的有效期。值可以是表示从创建时间起的Number
,或者是一个Date
对象。如果省略,cookie将成为一个会话cookie。
path
path: '/'
定义cookie有效的路径。默认情况下,cookie的路径是创建cookie的页面的路径(标准浏览器行为)。如果您想使其在整个域名中可用,请使用path: '/'
。默认值:创建cookie的页面的路径。
关于Internet Explorer的说明
由于WinINET InternetGetCookie实现中的一个模糊的错误,IE的document.cookie在设置包含路径属性的cookie时不会返回该cookie,该路径属性包含文件名。
(来自Internet Explorer Cookie 内部(常见问题解答))
这意味着不能使用path: window.location.pathname
来设置路径,如果这样的pathname包含文件名,如这样:/check.html
(或者至少,这样的cookie无法正确读取)。
domain
domain: 'example.com'
定义cookie有效的域名。默认值:创建cookie的页面的域名。
secure
secure: true
如果为true,则cookie传输需要安全的协议(https)。默认:false
。
贡献
查看贡献指南