99

简单的例子:我想在页面上有一些项目(比如 div 或表格行),我想让用户点击它们来选择它们。这在 jQuery 中似乎很容易。为了在没有服务器端回传的情况下保存用户点击的项目,我认为 cookie 将是完成此任务的一种简单方法。

  1. 在这种情况下是否可以假设 cookie 是可以的,对吗?
  2. 如果它是正确的,jQuery API 是否有某种方式来读取/写入比默认 JavaScript API 更好的 cookie 信息?
4

8 回答 8

53

用于设置 cookie 的默认 JavaScript“API”很简单:

document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'

使用 jQuery cookie 插件,如:

$.cookie('mycookie', 'valueOfCookie')
于 2010-02-05T21:05:44.530 回答
18

您将需要 cookie 插件,它为 cookie 函数提供了几个额外的签名。

$.cookie('cookie_name', 'cookie_value')存储一个临时 cookie(仅存在于此会话的范围内,同时$.cookie('cookie_name', 'cookie_value', 'cookie_expiration")创建一个跨会话持续存在的 cookie - 请参阅http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/了解更多信息在 JQuery cookie 插件上。

如果要设置用于整个站点的 cookie,则需要像这样使用 JavaScript:

document.cookie = "name=value; expires=date; domain=domain; path=path; secure"
于 2008-09-18T18:29:34.283 回答
11

一个新的 jQuery 插件,用于 cookie 检索和操作,绑定表单等: http: //plugins.jquery.com/project/cookies

于 2008-11-15T16:52:32.087 回答
7

要回答你的问题,是的。另一个已经回答了那部分,但似乎你也在问这是否是最好的方法。

这可能取决于你在做什么。通常,您会让用户单击他们想要购买的商品(例如订购)。然后他们会点击购买或结账按钮。然后表单将发送到一个页面并处理结果。您可以使用 cookie 完成所有这些操作,但我会发现这更困难。

您可能需要考虑在另一个主题中发布您的第二个问题。

于 2008-09-18T18:29:19.230 回答
5

看看 jQuery 的Cookie 插件

于 2008-09-18T18:20:24.070 回答
4

您可以在此处浏览所有带有“cookie”标签的 jQuery 插件:

http://plugins.jquery.com/plugin-tags/cookies

那里有很多选择。

查看名为 jQuery Storage 的版本,它利用了 HTML5 的 localStorage。如果 localStorage 不可用,则默认为 cookie。但是,它不允许您设置过期时间。

于 2011-01-15T23:28:02.610 回答
4

jQuery cookie 插件似乎无法下载。但是,您可以下载相同的 jQuery cookie 插件,并在jQuery & Cookies (get/set/delete & a plugin)中描述了一些改进。

于 2010-09-21T22:09:45.537 回答
2

我已经设法编写了一个脚本,允许用户选择他/她的语言,使用来自Klaus Hartl的 cookie 脚本。我花了几个小时的工作,我希望我能帮助别人。

于 2014-06-13T15:22:18.373 回答