kalenjordan/jquery-cookie

jQuery-cookie库

安装: 124

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

Forks: 4,064

语言:JavaScript

dev-master 2013-09-30 19:01 UTC

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.stringifyJSON.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

贡献

查看贡献指南

作者

Klaus Hartl