如何在JQuery中使用cookie

how to use cookies in JQuery

本文关键字:cookie JQuery      更新时间:2023-09-26

在服务器端使用cookie很容易,比如PHP、.NET等

我想使用cookie的静态网站,这只是HTML,CSS和amp;JQuery。

有人知道如何在JQuery中实现cookie吗?

jQuery Cookie插件是一种方法:

https://github.com/carhartl/jquery-cookie

你这样使用它:

$.cookie('cookie_name', 'value'); // to set
$.cookie('cookie_name'); // to get

您可以使用这个插件

示例:设置cookie

$.cookie("example", "foo");

您不需要jQuery插件,您可以轻松访问JavaScript中的cookie。方法如下:https://developer.mozilla.org/en/DOM/document.cookie

但也许其他答案中链接的插件会让你更容易访问。

您确定cookie正是您所需要的吗?有localStorage,它在许多场景中都要好得多。

你写道,你想在静态网站上使用cookie,但cookie会被发送到服务器并返回。你真的需要在引导静态网站时将信息发送到服务器吗?它增加了HTTP头的大小,降低了网站的性能(例如,请参阅此处)。

Cookie有非常严格的限制。对应rfc2109第6.3节或rfc6265第6.1节:每个cookie至少4096字节,每个域至少50个cookie(rfc2109中为20个),总共至少3000个cookie(rfc2109中300个)。因此,cookie不能用来保存太多信息。例如,如果你想保存每个网页的每个网格的状态,你可以很快达到限制。

如果你只想为页面保存一些用户偏好,你可以使用localStorage,使用起来非常简单。

如果你更喜欢使用一些jQuery插件而不是直接使用localStorage,并且如果你需要支持旧的web浏览器(如IE6/IE7),那么你可以使用jStorage。在这种情况下,你只有较小的存储空间:128 KB而不是5 MB(请参阅此处和IE userData Behavior),但最好是4K(请参阅这里)。

我希望你能稍微考虑一下饼干的替代品。

读取Cookie:

var cookieValue = $.cookie("cookieName");

写入Cookie:

$.cookie("cookieName", "CookieValue");

您可以通过访问document.cookie来使用纯JS。

请参阅:http://jsfiddle.net/ShsYp/

此外:https://developer.mozilla.org/en/DOM/document.cookie

一个简单、轻量级的jQuery插件,用于读取、写入和删除cookie。有关演示和示例的详细信息,请参阅链接
https://github.com/carhartl/jquery-cookie