jQuery可以读取/写入浏览器的cookie吗?

时间:2008-09-18 18:17:55

标签: javascript jquery cookies

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

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

8 个答案:

答案 0 :(得分:52)

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

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

使用jQuery cookie插件,如:

$.cookie('mycookie', 'valueOfCookie')

答案 1 :(得分:18)

你需要cookie插件,它为cookie功能提供了几个额外的签名。

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

如果您要设置用于整个网站的Cookie,则需要使用以下JavaScript:

document.cookie = "name=value; expires=date; domain=domain; path=path; secure"

答案 2 :(得分:11)

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

答案 3 :(得分:7)

回答你的问题,是的。另一方已回答了这一部分,但似乎你也在问这是否是最佳方式。

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

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

答案 4 :(得分:5)

查看jQuery的Cookie Plugin

答案 5 :(得分:4)

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

答案 6 :(得分:4)

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

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

那里有很多选择。

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

答案 7 :(得分:2)

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