管理用户在将来访问时的偏好


Managing User Preferences on Future Visits

我正在向我的网站添加有关已实现的新功能的通知。通知靠近网站顶部,在一个引人注目的地方引起人们的注意。使用jQuery,我编写了一个小函数,当用户选择隐藏通知时。如果用户选择隐藏通知,我希望它在访问的剩余时间和将来访问网站时永久隐藏。

确保他们稍后返回网站时隐藏通知的最佳方法是什么?我想过发送一个 AJAX 请求,在用户最初隐藏它时创建一个 cookie,然后在页面加载时检查 cookie,但我不确定这是否是最好的方法。我不想根据IP地址隐藏它,因为我担心同一网络上但不同计算机的两个用户可能会访问该网站,其中一个会错过它,但也许我太偏执了。关于最佳方法的任何想法?

为什么不直接使用 javascript 创建/读取 cookie?

我建议使用javascript来设置/读取cookie。由于您已经在使用 jQuery,因此我建议您使用 jquery.cookie 插件。执行 AJAX 请求以保存用户首选项的唯一原因是,如果用户已登录到站点,并且您希望将其首选项存储在数据库或其他持久性存储中,以便无论何时登录,他们都看不到有关新功能的消息。

如果服务器不需要知道cookie的值,我建议您改用localStorage。

localStorage 存在于客户端上,不会随 $_COOKIES 标头一起发送到服务器。

可以在此处阅读有关本地存储的更多信息

甚至

更多可以阅读,因为为什么你想要本地存储而不是cookie的客户端数据在这里本地存储与cookie