在 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 设置为他们上次离开时的状态。
是否有人对此类功能有任何经验并能提出最佳的 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 用户首选项的最佳方式? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章