javascript - 在cookie中存储多个表单的tab位置 - 如何防止困惑

标签 javascript html session

我有一个基于 PHP 和 HTML 的 CMS。在 CMS 的每个页面中,都有一个带有基于 Javascript 的选项卡式对话框的表单,可以在多个 DIV 之间切换。

可以从 CMS 的每个页面打开预览页面以查看所做的更改,然后返回到 CMS。当用户返回时,我希望打开与他们离开预览时相同的标签页。

我当前的方法是在每次用户更改选项卡时更改 cookie(“current_tab”)的值。

onclick='setCookie("current_tab", 5);'

生成选项卡式对话框时,我检查 cookie 并将适当的 DIV 设置为“display: block”。

但是,我需要将 cookie 设置限制为特定的 CMS 页面,而不是所有页面。如果用户更改到不同的页面,则不得预先选择该选项卡。

我当前的方法是为每个页面创建一个 cookie,例如对于页面 ID 10254:

onclick='setCookie("current_tab_10254", 5);'

并且,作为清理的尝试,在呈现页面时删除该 cookie。但显然,这不会清除设置的每个 cookie,因为用户可以选择不返回表单,或导航到不同的页面。我担心系统中的数十个 cookie 会造成困惑。

有人知道如何做到这一点吗?

最佳答案

尝试通过更改 cookie 的“路径”参数来限制 cookie 的可见性。

如果您的应用程序结构不允许这样做,我建议您不要使用这种方法,因为 Cookie 通常会随每个请求一起发送,包括对静态信息(图像、CSS)的请求。

关于javascript - 在cookie中存储多个表单的tab位置 - 如何防止困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1808195/

相关文章:

javascript - 从选择中删除和恢复选项

javascript - 如何使用 Javascript 本地存储来存储 HTML 文本框中的值?

javascript - 将鼠标悬停在复选框上时,为不同的 div 设置动画

javascript - 在内部 Javascript 回调函数中访问父函数参数的正确方法

javascript - 根据 slider 的值更改矩形的颜色

java - Spring Hibernate session 问题

javascript - 不可变的,updateIn 提供无效的 keyPath

javascript - 向下滚动时隐藏标题,向下滚动时显示

javascript - 如何在 ruby​​ on Rails 中的 haml 内的 js 设置 session 变量?

php - 服务器每个 session 只允许一个请求