简单示例:我想在页面上放置一些项(如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,跨会话持续存在。有关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"
您可以在此浏览所有标记为“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)中有描述。