2010-03-15 113 views
0

我有一个电子书(比较大的说800页),在HTML格式。我正在使用webkit-gtk +将该书作为网页打开。如果我一次加载整本书,它会占用太多的内存(RAM)。所以我不想一次加载整本书,而是加载当前正在显示的书的部分。当用户向下滚动时,应显示下一部分。我可以如何实现?如何加载当前显示的HTML页面的一部分?

回答

1

最简单的解决方法是将书籍切成页面,然后使用顶部和底部的链接在它们之间移动。

如果你真的想尝试“无尽滚动书”的隐喻,那么你还必须将书分成服务器上的页面。现在,您可以使用JavaScript监视滚动事件,并在访问者靠近边缘时立即使用AJAX加载下一页。

这里的问题是什么时候摆脱访问者阅读的部分。另外,滚动条会跳过很多。所以用户的体验不会那么好。要想知道它的感觉,请将一个巨大的RSS源加载到Google Reader。它不会放弃你看过的文章,所以浏览器会慢慢吃掉越来越多的内存。积极的一面,滚动条不会疯狂跳跃。

+0

嗯,谢谢,有一件事我可能并不十分清楚,我提到的HTML页面只会在我的硬盘上,而不是在其他系统/服务器上。我只是打开目前在我的电脑系统中的页面... – ganapati 2010-03-15 10:37:07

+0

这不会改变我的答案。如果不将整本书加载到RAM中,您无法将一个巨大的单一文件HTML书籍切成较小的页面。 – 2010-03-15 12:09:52

+0

或者你也许被“在服务器上”所困惑:在这种情况下,你自己的计算机就是服务器。 – 2010-03-15 12:11:10