jQuery可以将Cookie读取/写入浏览器吗?
一个简单的例子:我想在页面上有一些项目(例如div或者表行),并且我想让用户单击它们以选择它们。在jQuery中,这似乎很容易。为了保存用户单击的项目而没有服务器端回发,我认为cookie是完成此操作的一种简单方法。
- 在这种情况下,这种cookie是否正确的假设是否正确?
- 如果正确,那么jQuery API是否具有某种方法来读取/写入比默认JavaScript API更好的cookie信息?
解决方案
看一下jQuery的Cookie插件。
要回答问题,是的。另一个回答了这一部分,但似乎我们正在问这是否是最好的方法。
这可能取决于我们在做什么。通常,我们会让用户单击他们想要购买的商品(例如订购)。然后,他们将点击"购买"或者"结帐"按钮。然后,表单将发送到页面并处理结果。我们可以使用Cookie来完成所有这些操作,但我会发现它更加困难。
我们可能要考虑在另一个主题中发布第二个问题。
我们将需要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的默认JavaScript" API"非常简单:
document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'
使用jQuery cookie插件,如下所示:
$.cookie('mycookie', 'valueOfCookie')
看来jQuery cookie插件无法下载。但是,我们可以下载相同的jQuery Cookie插件,并进行了jQuery&Cookies(获取/设置/删除和插件)中所述的一些改进。