Бесконечная прокрутка и аналог пагинации?

В который раз задаюсь вопросом (в этот раз на больную мозоль наступил SoundCloud):

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


Почему каждый раз, когда возникает необходимость найти кусочек информации, расположенный посредине немалого списка контента, мне приходится ломать мышку, последовательно продвигаясь по цепочке бесконечной загрузки?

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


Ведь есть же History API — можно при подгрузке нового куска бесконечной прокрутки менять текущий адрес на новый с учетом пагинации, а в этот кусок вставлять якорь, который бы при переходе сразу переносил нас на нужное место. Другой вопрос, что делать с более новым контентом, который бы располагался выше, но мне это видится как ссылка «Загрузить 10 (20, 30, 100) более поздних записей».


Скажите, в верном ли направлении я мыслю?
  • Вопрос задан
  • 6926 просмотров
Пригласить эксперта
Ответы на вопрос 3
@myadzel
Вы, безусловно, думаете в правильном направлении. Менять адрес страницы это одна из необходимых базовых вещей, которую нужно сделать в таких случаях.

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

Но увы, в реальной жизни не то что автоподргузки не соблюдается, но еще и обычная пагинация работает «через Ж».

Например, каждый наверное замечал, если мы ходим по страницам вперед, а выборка из БД сделана без всяких маленьких хитростей (простым условием с ORDER + LIMIT), то мы (задержавшись на странице) можем при переходе на следующую увидеть опять те посты, которые были на предыдущей. А казалось-бы, всего-лишь можно добавить переменную lastPostID и показывать уже без учета просмотренных…
Ответ написан
Комментировать
Melorian
@Melorian
PHP, JAVA-разработчик
Сейчас многие прикручивают такую классную штуку, как вертикальный или горизонтальный виртуальный скроллбар, который, скажем, по всей своей длине олицетворяет общее количество записей, которые можно просмотреть, а определенной длины ползунком на этом баре текущее положение просмотра. Соответственно, сдвигая его по бару, можно динамически листать порции записей
Ответ написан
Комментировать
@egorinsk
> Ведь есть же History API — можно при подгрузке нового куска бесконечной прокрутки менять текущий адрес на новый с учетом пагинации

Конечно можно, видимо просто лень.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы