我有一个从数据库中检索和显示记录的 Web 应用程序。一个用户的查询可能匹配数千条记录;在这种情况下,用户优化他的搜索是有意义的。
在查询匹配数百条记录的情况下,用户浏览这些记录可能是有意义的。困扰我的是 Web 应用程序显示记录的“页面”。在 Web 应用程序的上下文中,我认为分页是一种显示此类数据的可怕、可怕的方式。
想象以下场景:
用户运行查询:应用程序指示有 20 页并显示第 1 页。
用户点击第 2 页,然后点击第 3 页。
用户意识到他正在寻找的记录在第 2 页。用户再次点击到第 2 页。
用户认为他在第 1 页看到了类似的记录。用户在第 1 页和第 2 页之间反复单击以比较记录。
对于 Web 应用程序,每次页面更改都需要加载一个全新的页面。最终用户可能认为它只是加载更多数据,但对于浏览器来说,这与加载完全不同的页面一样多。此外,当用户在第 1 页和第 2 页之间来回循环时,会一遍又一遍地从服务器加载 相同的数据。
对于配备数十亿字节内存的现代计算机,我们已经习惯于认为计算机重新加载(通过具有高延迟的慢速连接)最多占用兆字节的文本数据是很疯狂的.
我有一个想法,每次用户滚动到记录页面的底部时,使用 JavaScript 自动加载新记录(不会有可供用户单击的分页链接 - 记录只会在用户滚动时加载)。这听起来不错;但我想到的一个缺点是,如果不先单击“打印机友好”视图,就很难打印页面。
在不使用笨重的分页系统的情况下,将数据库应用程序填充到 Web 文档中还有哪些其他想法?