2010-03-15 2 views
0

У меня есть электронная книга (относительно большой размер, говорят 800 страниц), в формате HTML. Я открываю эту книгу как веб-страницу с помощью webkit-gtk +. Если я загружаю всю книгу за раз, она занимает слишком много памяти (ОЗУ). Поэтому я не хочу загружать всю книгу за раз, но загружаю часть книги, которая в настоящее время отображается. и когда пользователь прокручивается вниз, должна отображаться следующая часть. Как я могу это реализовать?Как загрузить часть страницы HTML, которая в настоящее время отображается?

ответ

1

Самое простое решение - вырезать книгу на страницы, а затем использовать ссылки сверху и снизу, чтобы перемещаться между ними.

Если вы действительно хотите попробовать метафору «бесконечная прокрутка», вы также должны разделить книгу на страницы на сервере. Теперь вы можете использовать JavaScript для просмотра событий прокрутки и загрузки следующей страницы с помощью AJAX, как только посетитель приблизится к краю.

Проблема здесь, когда нужно избавиться от деталей, прочитанных посетителем. Кроме того, полоса прокрутки будет много крутиться. Таким образом, опыт для пользователя не будет таким уж хорошим. Чтобы понять, как это чувствует, загрузите огромный RSS-канал в Google Reader. Он не будет удалять статьи, которые вы видели, поэтому браузер медленно потребляет все больше и больше памяти. С положительной стороны полоса прокрутки безуспешно скачет.

+0

ну, спасибо, одна вещь, я могу быть не очень ясной, когда упоминаю, HTML-страница, на которую я ссылался, будет только на моем жестком диске, а не на какой-либо другой системе/сервере. я просто открою страницу, присутствующую в моей компьютерной системе ... – ganapati

+0

Это не меняет мой ответ. Вы не можете нарезать огромную одностраничную HTML-книгу на более мелкие страницы, не загружая всю книгу в ОЗУ. –

+0

Или, может быть, вы были смущены «на сервере»: ваш собственный компьютер является сервером в этом случае. –

Смежные вопросы