2019年4月更新
Cookie的读取/操作不需要jQuery,因此请不要使用下面的原始答案。
转到https://github.com/js-cookie/js-cookie,然后在其中使用不依赖jQuery的库。
基本示例:
// Set a cookie
Cookies.set('name', 'value');
// Read the cookie
Cookies.get('name') => // => 'value'
有关详细信息,请参见github上的文档。
参见插件:
https://github.com/carhartl/jquery-cookie
然后,您可以执行以下操作:
$.cookie("test", 1);
删除:
$.removeCookie("test");
此外,要在Cookie上设置特定天数(此处为10天)的超时时间:
$.cookie("test", 1, { expires : 10 });
如果省略expires选项,则cookie成为会话cookie,并在浏览器退出时被删除。
涵盖所有选项:
$.cookie("test", 1, {
expires : 10, // Expires in 10 days
path : '/', // The value of the path attribute of the cookie
// (Default: path of page that created the cookie).
domain : 'jquery.com', // The value of the domain attribute of the cookie
// (Default: domain of page that created the cookie).
secure : true // If set to true the secure attribute of the cookie
// will be set and the cookie transmission will
// require a secure protocol (defaults to false).
});
读取cookie的值:
var cookieValue = $.cookie("test");
如果cookie是在与当前路径不同的路径上创建的,则可能希望指定path参数:
var cookieValue = $.cookie("test", { path: '/foo' });
更新(2015年4月):
如下面的评论所述,使用原始插件的团队已在新项目(https://github.com/js-cookie/js-cookie)中删除了jQuery依赖项,该项目具有与相同的功能和通用语法jQuery版本。显然,原始插件并没有到任何地方。
来自更改日志:“现在不建议使用$ .removeCookie('foo')使用$ .cookie('foo',null)删除Cookie”
@Kazar我花了6个小时,没有休息。今天早上我终于意识到了问题。我在phonegap上使用它,在网站上它没有问题,但是在设备上,当您尝试检索具有JSON的cookie时,它已经是一个对象,因此,如果您尝试进行JSON.parse,它将将给出JSON解析错误。用“ if typeof x =='string'”解决它,执行JSON.parse,否则,仅使用该对象。6个该死的小时,在所有错误的地方寻找错误
删除Cookie时,请确保还将路径设置为与最初设置Cookie相同的路径:
$.removeCookie('nameofcookie', { path: '/' });
到了2015年,我们每周仍然在jquery-cookie存储库中获得超过2k的唯一匹配,仅来自此答案。我们可以从中学习到以下几点:1. cookie不会很快消失,并且2.人们仍然在谷歌上寻找“ jquery插件来拯救世界”。jQuery对于处理cookie不是必需的,jquery-cookie被重命名为js-cookie(github.com/js-cookie/js-cookie),并且jquery依赖性在1.5.0版中变为可选。将会有一个2.0.0版本,其中包含很多有趣的东西,值得一看并做出贡献,谢谢!
@Kazar我们不打算实际移动它,从多个来源到该URL的流量很大,而且Klaus是“ jquery-cookie”命名空间的历史所有者。无需担心该网址很快就会消失。但是,我仍然鼓励所有人开始关注新存储库中的更新。