在 Web 应用程序中存储小型 UI 用户首选项的最佳方式? [关闭]

Posted

技术标签:

【中文标题】在 Web 应用程序中存储小型 UI 用户首选项的最佳方式? [关闭]【英文标题】:Best way to store small UI user preferences in web app? [closed] 【发布时间】:2011-09-25 22:42:16 【问题描述】:

我正在开发一个 Web 应用程序,并且非常喜欢这样的想法,即如果用户对 UI 的视图进行更改(例如,打开或关闭列表、某些查看首选项),这些更改在他们关闭浏览器后仍然存在,并且稍后访问该网络应用程序。

我能想到的可能选项:

    将 UI 首选项 JSON 对象存储在 cookie 中。 使用 html5 本地存储(没有这方面的经验) 存储在 mysql 数据库中(不热衷于在数据库中存储这些琐碎的数据)

存储后,我将在用户返回时检索这些首选项,并将 UI 设置为他们上次离开时​​的状态。

是否有人对此类功能有任何经验并能提出最佳的 UI 状态保存和检索方法?

【问题讨论】:

【参考方案1】:

您希望在多台机器上记住外观和字段更改吗? 它们是否很重要,或者如果被遗忘(清除 cookie)会导致用户大受挫折?

这个问题的答案决定了你是存储在本地还是在服务器上。

如果不需要,那么 cookie 或本地存储就足够了。 HTML 5 local storage 并不是真正的prevalent(有点老问题)。

如果你想跨机器记住,数据库是唯一的选择。

【讨论】:

【参考方案2】:

使用 HTML5 本地存储真的很简单:

localStorage.setItem('someName', 'savedData');

当您以后必须检索它时,您只需使用:

var data = localStorage.getItem('someName');

使用 HTML5 也有一些缺点,我建议您肯定通过 cookie 等添加对旧浏览器的支持。再一次,如果您希望使用户无论从哪个位置登录都具有相同的设置,那么您没有除了使用数据库表之外的其他选项。

额外说明:请注意,cookie 会随每个请求一起发送到服务器。如果低带宽很重要并且在 cookie 中定义了许多设置,则使用数据库表或本地存储更有意义。

【讨论】:

【参考方案3】:

我在使用 cookie 之前做过这种事情。我永远不想将这种东西存储在数据库中,因为它不是一个非常重要的功能,缓存问题或禁用的 cookie 并不重要 - 有些人不会从中受益,但大多数人可能会受益。如果您希望用户状态在不同的计算机上持续存在,但您必须按照 bhagyas 的建议进行操作并将其存储在数据库中。

【讨论】:

【参考方案4】:

如果它太小,您可能应该将 UI 设置 json 对象存储在您自己的数据库中。

这将减少用户遇到的问题,例如缓存清除和本地存储不受支持的浏览器。

它还将使用户可以跨不同的计算机或浏览器使用 UI 设置。

【讨论】:

你让我大开眼界,我正在考虑在客户端设置首选项。谢谢。

以上是关于在 Web 应用程序中存储小型 UI 用户首选项的最佳方式? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将 Web 服务数据存储到共享首选项

如何在首选项中存储图像资源/名称

根据存储在共享首选项中的记住我状态导航到屏幕

内置对象Session,Cookie

05-21内置对象Session,Cookie

iCloud KeyValueStore 首选项更改并在各种设备上处理它们