在Web应用程序中存储小UI用户首选项的最佳方法?

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

我能想到的可能选择:

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

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

有没有人有这种function的经验,可以建议UI状态保存和检索的最佳方法?

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

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

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

使用HTML5本地存储非常简单:

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

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

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

使用HTML5也有一些缺点,我建议你肯定通过cookie等添加对旧浏览器的支持。如果你想让用户拥有相同的设置,无论他登录的位置如何,你别无选择。使用数据库表。

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

您是否希望在多台计算机上记住外观和字段更改? 它们是否至关重要,或者如果它们被遗忘(明确的cookie)会导致用户沮丧吗?

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

如果不需要,那么cookie或本地存储就足够了。 HTML 5本地存储并不是很普遍 (有点老问题)。

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

我在使用cookies之前做过这种事情。 我永远不想将这种东西存储在数据库中,因为它不是一个非常重要的function,缓存问题或禁用的cookie应该不重要 – 有些人不会从中受益,但大多数人可能会这样做。 如果您希望用户声明要在不同的计算机上保留,尽管您必须执行bhagyas建议并将其存储在数据库中。