Правильная подгрузка постов для бесконечной прокрутки

Рейтинг: 1Ответов: 1Опубликовано: 04.05.2015

Собираюсь сделать сабж. Если бы делал через старую добрую пагинацию, здесь ничего сложного - из базы бы извлекались данные, ограниченные limit x,y, которые вычисляются, зависимо от номера страницы.

При подгрузке результатов при прокрутке страницы вниз, обычные лимиты - не самое лучшее решение, потому что, пока юзер читает посты, лента может обновляться и изменяться порядок постов в ленте (сортируется по дате последнего коммента, создания или рейтингу поста).

  • Если выбирать из базы при помощи лимитов - некоторые посты будут пропускаться или загружаться дважды (напр. если плюсанули пост, до которого я не дошел - он всплывет наверх, и вытеснит ленту вниз, т.е. подгрузится 1 лишний пост).
  • Если в запросе на подгрузку отправлять ИДы всех загруженных постов, чтобы не загружать ничего лишнего - запрос будет занимать около 2 кб, если уже загружено 500 постов (даже если привести ИДы в бинарный вид!)

Как лучше всего сделать?

Ответы

▲ 1

Наличие дублей вы можете проверять на клиентской стороне, и в случае их обнаружения - не отображать их (а то и обновлять соответствующий пост), и загружать вместо них еще посты.