简单的例子:我想在页面上有一些项目(比如 div 或表格行),我想让用户点击它们来选择它们。这在 jQuery 中似乎很容易。为了在没有服务器端回传的情况下保存用户点击的项目,我认为 cookie 将是完成此任务的一种简单方法。
- 在这种情况下是否可以假设 cookie 是可以的,对吗?
- 如果它是正确的,jQuery API 是否有某种方式来读取/写入比默认 JavaScript API 更好的 cookie 信息?
简单的例子:我想在页面上有一些项目(比如 div 或表格行),我想让用户点击它们来选择它们。这在 jQuery 中似乎很容易。为了在没有服务器端回传的情况下保存用户点击的项目,我认为 cookie 将是完成此任务的一种简单方法。
用于设置 cookie 的默认 JavaScript“API”很简单:
document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'
使用 jQuery cookie 插件,如:
$.cookie('mycookie', 'valueOfCookie')
您将需要 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"
一个新的 jQuery 插件,用于 cookie 检索和操作,绑定表单等: http: //plugins.jquery.com/project/cookies
要回答你的问题,是的。另一个已经回答了那部分,但似乎你也在问这是否是最好的方法。
这可能取决于你在做什么。通常,您会让用户单击他们想要购买的商品(例如订购)。然后他们会点击购买或结账按钮。然后表单将发送到一个页面并处理结果。您可以使用 cookie 完成所有这些操作,但我会发现这更困难。
您可能需要考虑在另一个主题中发布您的第二个问题。
看看 jQuery 的Cookie 插件。
您可以在此处浏览所有带有“cookie”标签的 jQuery 插件:
http://plugins.jquery.com/plugin-tags/cookies
那里有很多选择。
查看名为 jQuery Storage 的版本,它利用了 HTML5 的 localStorage。如果 localStorage 不可用,则默认为 cookie。但是,它不允许您设置过期时间。
jQuery cookie 插件似乎无法下载。但是,您可以下载相同的 jQuery cookie 插件,并在jQuery & Cookies (get/set/delete & a plugin)中描述了一些改进。
我已经设法编写了一个脚本,允许用户选择他/她的语言,使用来自Klaus Hartl的 cookie 脚本。我花了几个小时的工作,我希望我能帮助别人。