简单示例:我想在页面上放置一些内容(如div或表格行),并允许用户点击它们来选择。在jQuery中,这似乎很容易。为了保存用户单击的哪些项目而不需要服务器端提交,我认为使用cookie是一个简单的方法。
这种情况下使用cookie是否正确?如果正确,在jQuery API中有没有比默认JavaScript API更好的读写cookie信息的方法?
这种情况下使用cookie是否正确?如果正确,在jQuery API中有没有比默认JavaScript API更好的读写cookie信息的方法?
如果你正在开发一个面向符合W3C标准的浏览器(或者更准确地说,是HTML5兼容的浏览器)的web应用程序,那么你可以随时使用WebStorage。它的接口非常简单明了,在你的情况下,它是替代cookie的一个不错的选择。
你可以在localStorage
(永久存储)和sessionStorage
(临时存储)之间进行选择。它们都是Window
对象的属性。
示例:
localStorage.setItem('clicked', 'elementID'); // stores some data
localStorage.getItem('clicked'); // returns corresponding data
基本上,你可以按键值的方式将一个字符串映射到另一个字符串。例如,值可以被格式化为 JSON 字符串,表示已点击元素 ID 的数组。
为了确保你的用户数据存储功能可以“无处不在”,请查看 Modernizr 库。它已经为缺失的属性实现了存根:对于 localStorage
(或 sessionStorage
),它会回退到使用 cookies。