浏览 1342 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-08-30
在我的rails project 里面我用了yahoo yui tree来显示一些信息。
可是我发现了一个问题。当我在一个页面里对这个树进行了一些操作。例如,展开个别的treenode. 或者将已经展开的一些treenode闭合。然后,用户点击其中一个treenode进入了下一个页面。 问题是当用户进入下一个页面后,可能还想回到刚才的树display页面。 在用户点击浏览器的back button 后,树又回到了一开始的起始状态。 也就是说浏览器没有记住用户最后对树的操作(因为它是ajax)。 不知道大家有没有遇到过类似的问题。怎样才能记住用户对树的操作呢? 浏览器是不行了。是不是要自己在页面上写一个back button? 可是在用户展开/闭合treenode的时候,如何让server纪录这些请求呢? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |
|
时间:2007-08-31
昨天仔细研究了一下。试了几种方法。都不可行。
看到了网上一些网站的例子。大多数都是树的节点比较固定。不是实时更新的。所以好像用javascript/ext/yui都可以容易得做出来。无需用到ajax. 我的树实际上是数据库数据关系的一种展示。每个节点的children都不是固定的。是根据数据库的数据变化而变化。所以我就用了ajax来展开每个节点。 问题就出在这里了。浏览器的url没有刷新,却有好几个xmlhttprequest了。而这些XHR对于浏览器来讲是不能被当作浏览历史记录的。 另外,我看到很多人都是用两个frame.一个来显示树。另一个来显示具体的信息。每次只是更新现实具体信息的那个frame. 这是个不错的办法,可是我的树有好多个level。看来要一个宽平的显示器才能看着顺眼点。 不知道大家有没有什么想法。不一定是解决的方法,无论是思路,经验,建议或者认为不好的地方。只要有什么想法都可以说说。 交流一下嘛。 |
|
| 返回顶楼 | |
|
时间:2007-08-31
YUI有个与Browser History有关的子项,不过还处于beta阶段.
它的首页有链接,你自己看吧. |
|
| 返回顶楼 | |



