2010-03-15 112 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