我正在开发一个Web应用程序,并且非常喜欢如果用户对UI视图进行更改(例如,列表打开或关闭,某些查看首选项),这些更改在关闭浏览器后仍然存在稍后访问网络应用程序。
我能想到的可能选项:
存储完成后,当用户返回并设置用户上次离开时的UI时,我将检索这些首选项。
有没有人有这种功能的经验,可以建议用于UI状态保存和检索的最佳方法?
答案 0 :(得分:31)
如果它太小,您应该将UI设置json对象存储在您自己的数据库中。
这将使用户在问题结束时遇到问题,例如缓存清除和本地存储不受支持的浏览器。
它还可以让用户在不同的计算机或浏览器中使用UI设置。
答案 1 :(得分:17)
使用HTML5本地存储非常简单:
localStorage.setItem('someName', 'savedData');
如果您以后需要检索它,只需使用:
var data = localStorage.getItem('someName');
使用HTML5也有一些缺点,我建议你肯定通过cookie等添加对旧浏览器的支持。如果你想让用户拥有相同的设置,无论他登录的位置如何,你都没有除了使用数据库表之外的其他选择。
额外注意事项:请注意,每次请求都会向服务器发送Cookie。如果低带宽很重要并且cookie中定义了许多设置,则使用数据库表或本地存储更有意义。
答案 2 :(得分:5)
您是否希望在多台计算机上记住外观和字段更改? 如果它们被遗忘(清晰的cookie),它们是否至关重要还是会引起用户的重大挫折?
这个问题的答案决定了你是在本地还是在服务器上存储。
如果不需要,那么cookie或本地存储就足够了。 HTML 5 local storage实际上不是prevalent(有点老问题)。
如果您想跨机器记住,数据库是唯一的选择。
答案 3 :(得分:3)
在使用cookies之前我做过这种事情。我永远不想将这种东西存储在数据库中,因为它不是一个非常重要的功能,缓存问题或禁用的cookie应该不重要 - 有些人不会从中受益,但大多数人可能会这样做。如果您希望用户声明要在不同的计算机上保留,尽管您必须执行bhagyas建议并将其存储在数据库中。