jQuery 可以读/写 cookie 到浏览器吗?

IT技术 javascript jquery cookies
2021-02-06 07:07:00

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

  1. 在这种情况下,cookie 没问题的假设是否正确?
  2. 如果它是正确的,jQuery API 是否有某种方式来读取/写入比默认 JavaScript API 更好的 cookie 信息?
6个回答

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

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

使用 jQuery cookie 插件,如:

$.cookie('mycookie', 'valueOfCookie')
是的,写 cookie 很容易,但阅读它们有点痛苦,因为你必须拆分字符串和其他东西。如果您已经在使用 JQuery,那么 cookie 插件可能会很好……阅读 cookie 的一个令人讨厌的事情是有些浏览器删除了最后的分号,有些则没有……很高兴让其他人处理所有这些。
2021-03-27 07:07:00
哦,JQuery cookie 插件只有 40 行 JS ……你可以随意编辑它,这样你就不会觉得自己正在进入抽象危险区。
2021-03-27 07:07:00
这是那些最终出现死链接或出现故障的 plugins.jquery.com 站点的人的最新链接:github.com/carhartl/jquery-cookie
2021-04-01 07:07:00
与询问的 jQuery 无关。Peter Ajtai 评论说明了为什么 casademora 要求使用 jQuery 插件而不是 Javascript。
2021-04-03 07:07:00

您将需要 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"
在撰写本文时,此链接似乎已失效
2021-03-19 07:07:00

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

@JAAulde 啊,我没有意识到这一点。因为链接已死:) 谢谢!
2021-03-16 07:07:00
对于过快阅读链接的任何人,请注意 cookie 末尾的“s”,使其与 Alex Fort 的答案不同
2021-03-28 07:07:00
这是编写github.com/carhartl/jquery-cookie时更好的链接
2021-04-04 07:07:00
@Zidad 与 Giver Of Cookies 链接的插件不同。他链接的那个现在在code.google.com/p/cookies
2021-04-06 07:07:00

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

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

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

查看jQueryCookie 插件