components/jquery-cookie

此包已被废弃且不再维护。未建议替代包。

一个用于读取、写入和删除cookie的简单、轻量级jQuery插件

安装数: 358,605

依赖项: 6

建议者: 0

安全性: 0

星标: 4

关注者: 1

分叉数: 4,082

语言:JavaScript

类型:组件

1.4.1.2 2014-07-02 18:35 UTC

This package is not auto-updated.

Last update: 2020-12-03 22:36:09 UTC


README

一个用于读取、写入和删除cookie的简单、轻量级jQuery插件。

如果你正在https://github.com/carhartl/jquery-cookie查看,你正在阅读master分支的文档。 查看最新版本(1.4.1)的文档。

构建状态矩阵

Selenium Test Status

安装

在jQuery库之后(除非以其他方式打包脚本)包含脚本

<script src="/path/to/jquery.cookie.js"></script>

不要直接从GitHub(http://raw.github.com/...)包含脚本。 文件以text/plain格式提供,因此在Windows 7上的Internet Explorer中可能会被阻止(因为MIME类型不正确)。总之:GitHub不是一个CDN。

插件也可以作为AMD或CommonJS模块加载。

使用方法

创建会话cookie

$.cookie('name', 'value');

创建将在7天后过期的cookie

$.cookie('name', 'value', { expires: 7 });

创建在整个网站上都有效的过期cookie

$.cookie('name', 'value', { expires: 7, path: '/' });

读取cookie

$.cookie('name'); // => "value"
$.cookie('nothing'); // => undefined

读取所有可用的cookie

$.cookie(); // => { "name": "value" }

删除cookie

// Returns true when cookie was successfully deleted, otherwise false
$.removeCookie('name'); // => true
$.removeCookie('nothing'); // => false

// Need to use the same attributes (path, domain) as what the cookie was written with
$.cookie('name', 'value', { path: '/' });
// This won't work!
$.removeCookie('name'); // => false
// This will work!
$.removeCookie('name', { path: '/' }); // => true

注意:删除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实现中的一个不明错误,如果使用包含文件名的路径属性设置cookie,IE的document.cookie将不会返回cookie。

(来自 Internet Explorer Cookie 内部(常见问题解答))

这意味着无法使用 path: window.location.pathname 来设置路径,如果这样的pathname包含文件名,例如这样: /check.html(或者至少,这样的cookie无法正确读取)。

域名

domain: 'example.com'

定义cookie有效的域名。默认:创建cookie的页面域名。

安全

secure: true

如果为true,cookie传输需要安全协议(https)。默认: false

转换器

提供可选的最后一个参数作为转换函数,以便在读取时将cookie的值转换为不同的表示形式。

解析值的示例

$.cookie('foo', '42');
$.cookie('foo', Number); // => 42

处理使用 escape 编码的cookie(第三方cookie)

$.cookie.raw = true;
$.cookie('foo', unescape);

您可以传递任意转换函数。

贡献

查看 贡献指南

作者

Klaus Hartl