深度链接无限滚动页面

时间:2010-11-25 04:21:27

标签: javascript ajax user-interface scroll deep-linking

我正在创建一个无限滚动的页面,递归加载并将下一页的内容附加到当前页面。我认为浏览体验可以很棒且具有沉浸感,但目前的方法并非没有可用性的缺点。

不完全渐进增强。在使用Ajax时,支持后退按钮并提供深层链接总是好的。无限滚动的当前实现不支持这一点。国家不可能被加入书签。

关于改进无限滚动的用户体验的一些想法。需要意见。

  1. 更改每次加载的网址哈希,例如/!#/ 2 - > /#!/ 3
  2. 单击后退按钮应向上滚动页面。单击前进按钮应向下滚动。
  3. 访问深层链接应该像Ajax之前一样。从第3页开始并且也从第3页开始应该只显示第3页内容而不是第2页和第1页,因为用户没有要求它们。
  4. 他仍然应该有一种方法可以转到第2页和第1页,就好像它是正常的分页一样。由于第3页在0处加载了scrollTop,因此向上滚动事件无效。为此,我们可能仍需要一个可点击的链接。
  5. 我们需要检查所请求的页码是否大于当前页码,因为我们不应该在第3页末尾加载第2页的内容。
  6. 你们有什么想法?

1 个答案:

答案 0 :(得分:0)

有趣的问题。我建议以#!/from/123/to/456的形式更改网址哈希,并在页面加载时增加to ID。

无论您是使用哈希值还是历史记录API重写来修改URL,在UX意义上, URL始终代表当前内容的位置。例如,用户需要书签,重新加载或将URL复制到其他计算机,然后单击Go,将返回相同的页面。

无限滚动页面完成URL逻辑的唯一方法是我在上面建议的URL哈希。否则就离开吧; Twitter不会在其主页上更新URL哈希值。