【问题标题】:Save complex page state with jQuery cookie使用 jQuery cookie 保存复杂的页面状态
【发布时间】:2014-07-09 18:26:49
【问题描述】:

我有一个带有自定义树视图的页面。当一个节点展开时,它的子节点通过 jQuery Ajax 调用加载。

现在,我想保存树视图的当前状态,以便当用户离开并返回页面时,之前展开的树视图保持展开状态。

在类似情况下,我使用这个 jQuery 插件将搜索查询、结果或表单数据等数据保存在 cookie 中:https://github.com/carhartl/jquery-cookie

到目前为止,我可以看到两个选项:

  1. 保存展开的节点 ID 并从头开始重新加载树视图,但是:
    • 可能有很多 Ajax 调用,
    • 很难以正确的顺序进行调用(即不要在父级存在之前加载子级),
    • 等待呼叫完成的时间
  2. 将包含树视图的整个元素保存到 cookie 中,但是:
    • 可能有很多数据
    • 在加载时将树视图 HTML 插入 DOM 时,可能难以将正确的 jQuery 事件附加到节点元素。

提前感谢您的任何想法!

克里斯

【问题讨论】:

  • 这可能也应该在服务器端处理 - 即读取 cookie 服务器端的状态以查看菜单是否打开,然后加载数据并在第一次加载时显示它服务器端如果它是,这样你只需要记住打开状态。然后,您可以将您的 ajax 调用用于任何关闭的节点

标签: jquery cookies page-state


【解决方案1】:

过去我使用 cookie 方法。但是数据对于 cookie 标头来说太大了,所以我使用 ajax 将状态发送到服务器并将其存储在那里。这样做可以在渲染树时恢复状态。

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 2014-05-22
    • 1970-01-01
    • 2013-05-09
    • 2013-08-16
    • 2023-04-06
    • 2012-02-19
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多