gpt4 book ai didi

javascript - 通过 Web 应用程序在客户端存储用户偏好的标准方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:33 25 4
gpt4 key购买 nike

我意识到这可能不是 SO 的最佳选择,所以如果是这种情况,请告诉我应该将其移动/发布到哪里。

我的想法是在用户登录系统后,将用户偏好以 cookie 的形式存储在客户端上。如果用户修改了上述偏好,请更新 cookie。我需要这样做,因为一些首选项与客户端相关,需要通过 JavaScript 查看。

我意识到我还需要存储在服务器上的首选项。只是想知道将它们拉下来放入 cookie 中是否是个好主意。我的应用程序主要是 ajax 驱动的,所以我想将首选项拉下来一次并存储它们。我不想在每次服务器请求时都推送它们。

我想避免使用本地存储之类的东西,这样我就不必太担心浏览器了。 Cookie 似乎受到所有浏览器的大力支持。

有人同意或有更好的方法吗?

最佳答案

编辑现在您已经更改了我们第一次写答案时的问题:

如果您将偏好数据存储在服务器上,则没有理由在两次访问之间将偏好数据保存在本地用户的计算机上,因此没有理由将数据放在 cookie 中,因为它只会增加 cookie 的大小每次客户端/服务器往返并必然在客户端计算机上进行存储。

相反,我建议您像这样在页面的 javascript 中简单地放置一个首选项对象:

var userPref = {theme: "fun", permitContact: false, lastDisplay: "threaded"};

然后,您可以使用如下代码从任何页面通过 javascript 访问首选项值:

if (userPref.lastDisplay == "threaded") {
// do something
}

编辑问题前的旧答案:

如果您希望客户端首选项适用于客户端可能使用的不同浏览器,那么您应该将首选项存储在您的服务器上(强烈推荐)。您可以随时在网页中提供它们,只需在每个页面中包含少量 javascript,将首选项对象的属性设置为用户首选项的值。然后您可以有一个首选项页面,用户可以在其中修改/更新首选项并将新更改的首选项再次存储回服务器。

Cookie 用于临时状态,可能会随时清除并且只会在该特定计算机上工作。另外,如果您使用 cookie,并且用户 A 注销而用户 B 在同一台计算机上登录,则用户 B 的首选项将是错误的。

关于javascript - 通过 Web 应用程序在客户端存储用户偏好的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9809118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com