4

我正在创建一个无限滚动的页面,该页面递归加载并将下一页的内容附加到当前页面中。我认为浏览体验可以很棒且身临其境,但当前的方法并非没有可用性缺陷。

不完全的渐进增强。在使用 Ajax 时,支持后退按钮并提供深度链接总是好的。无限滚动的当前实现不支持这一点。无法为状态添加书签。

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

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

你们有什么感想?

4

1 回答 1

0

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

无论你是使用 hash 还是 History API rewrite 来修改 URL,在 UX 意义上,URL 总是代表当前内容的位置。例如,用户会期望一个书签,点击重新加载,或将 URL 复制到其他计算机并单击 Go,将返回相同的页面。

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

于 2010-11-26T04:16:41.590 回答