网站页面上有一些下拉菜单(用户只有通过身份验证才能访问此页面),我想将此值保存到 cookie 中,并在用户返回时将其设置回下拉菜单我的网站。
将当前选择的下拉选项值保存到 cookie 并稍后检索它不是问题。但是,如果我由另一个用户在同一浏览器上登录,我会遇到一些问题。它从 cookie 值中获取先前用户保存的内容。
那么,从同一浏览器中分离不同用户的 cookie 的好方法是什么?我正在考虑创建名称如“username-dropdown”的 cookie,但我怀疑这是最好的解决方案。
我在 Tomcat 8 中使用 Java。
最佳答案
我在这里猜测您不需要在每个 HTTP 请求中都需要将此信息发送到您的服务器;您只需要在客户端存储信息(并且可以根据需要通过ajax将其发送到服务器)。
如果是这样,我会使用本地存储,而不是 cookie。当然,使用用户名或用户 ID 等是合理的:
// Setting:
localStorage.setItem(username + "-dropdown", value);
// Getting:
var value = localstorage.getItem(username + "-dropdown");
或者您可以使用括号表示法:
// Setting:
localStorage[username + "-dropdown"] = value;
// Getting:
var value = localstorage[username + "-dropdown"];
不使用方括号表示法的唯一原因是,如果您需要在较旧的浏览器上填充本地存储(有些填充会为您回退到 cookie),但本地存储是 supported on all modern browsers ,还有 IE8,所以这些浏览器目前确实非常过时了。
关于javascript - 同一浏览器中不同用户的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28252998/