0

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

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

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

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

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

提前感谢您的任何想法!

克里斯

4

1 回答 1

0

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

于 2014-07-09T10:26:49.483 回答