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

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

我能想到的可能选项:

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

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

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

【问题讨论】:

    标签: javascript jquery web-applications cookies local-storage


    【解决方案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 设置。

          【讨论】:

          • 你让我大开眼界,我正在考虑在客户端设置首选项。谢谢。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-12
          • 2014-07-16
          • 2011-02-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-08
          相关资源
          最近更新 更多