Есть ли способ поставить в каком-либо браузере закладку на определенную позицию на веб-странице с "бесконечной прокруткой" (пример: лента вопросов TheQuestion)?

Ответить
Ответить
Комментировать
0
Подписаться
2
1 ответ
Поделиться
АВТОР ВОПРОСА ОДОБРИЛ ЭТОТ ОТВЕТ

Вообще, в сайтах можно сделать закладки, которые будут переводить вас в определенное место на странице вместо начала страницы по умолчанию. Пример:

https://ru.wikipedia.org/wiki/%D0%92%D1%82%D0%BE%D1%80%D0%B0%D1%8F_%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D1%80%D0%B8%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%B2%D0%BE%D0%B9%D0%BD%D0%B0#.D0.A5.D0.BE.D0.B4_.D0.B2.D0.BE.D0.B9.D0.BD.D1.8B

Ссылка переводит вас к средине страницы, где рассказывается о ходе второй берберийской войны.

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

Чтобы понять почему, мы должны сравнить в чем разница ленты вопросов и страницы википедии.

Википедия сделана таким образом, что когда вы отправляете запрос навроде того, что указан выше, вам отправляется страница полностью и, фактически, записывается в память вашего компьютера. Если вы отключите компьютер от сети Интернет после загрузки страницы, вы сможете также беспрепятственно читать любую часть статьи.

Теперь представим ленту вопросов thequestion или любую другую подобную ленту. Мы, конечно, можем всю эту ленту загрузить на ваш компьютер. Это будет круто где-то в пределах первой сотни вопросов, наступит этап, когда отдаваемая страница станет слишком большой вебсерверу будет сложно раздавать огромный файл и кучу картинок к нему, а клиенту будет сложно с этим работать. Это печально.

Поэтому с появлением блогосервисов и длинных лент вебмастера придумывают способы сложить огромный массив сообщений в удобный и компактный вид. До появления всеобщей любви к javascript был один основной способ - разделять ленту на страницы по n записей и организовывать навигацию между ними.

Примером может служить дневник крайне известного блогера:

Первые десять записей: http://tema.livejournal.com/

Вторые десять записей: http://tema.livejournal.com/?skip=10

Тыкать ссылки и листать страницы - это не модно. Намного удобнее свайпать пальцем по экрану и получать новые статьи.

На помощь пришли скрипты и технология AJAX. Когда вы переходите по ссылке типа: http://thequestion.ru/ , вы получаете первые несколько записей ленты, как и в случае с разделением на страницы. А дальше немного магии. Когда вы пролистываете вниз, на странице срабатывает скрипт, который сам делает запрос к серверу, получает следующую порцию статей и "приклеивает" их к нижней части ленты, таким образом отдаляя от вас конец страницы, чтобы вы могли еще пролистать и вновь активировать скрипт, и так пока не кончитесь вы или статьи. Вы можете это проверить, открыв страницу thequestion, отключив интернет и пролистав до упора: скрипт не может связаться с сервером и не показывает новых статей.

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

Итак, почему нельзя сделать толковую ссылку на статью в ленте, навроде той, что есть на этом замечательном сайте:

1. К тому времени, как вы зайдете статья, вероятнее всего, уедет из первой порции статей, даже если она там была когда вы ее там видели. Браузер не увидит якорь указывающий на начало неотрисованной статьи.

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

3. Предположим, что у вас особенный браузер, он умеет самостоятельно активировать скрипт нужное количество раз, чтобы достичь заданного поста. Это решает проблему, но только короткое время. Если Вы случайно воспользуетесь этой закладкой через год, длина ленты может быть очень большой, и вам может не хватить оперативной памяти, а веб-серверу сил, если вас таких будет много.

4. Казалось бы с лентой старого стиля, страничной все должно быть проще. Нет, посты съезжают и там, поэтому ссылки на страницы ленты через любое значительное количество постов становятся нерелевантными тому, что вы видели когда их делали.

ЗЫ Звиняйте за занудство и если где-то не прав.

0

Благодарю вас за обстоятельный ответ! Возможно, интересным хаком было бы научить броузер активировать дозагружающий скрипт до тех пор, пока на экране не возникнет характерный фрагмент текста, который был в тот момент, когда мы поставили закладку. Это бы сработало (кроме как в Фейсбуке, где посты подставляются юзеру слишком уж "интеллектуальным" образом!)

0
Ответить

Да, но ведь все-таки это не решает проблемы. Если вы через полгода попытаетесь открыть такую ссылку, полученная страница будет очень длинной. КМК нужно организовывать ленту каким-то другим образом, чтобы можно былоставить закладки.

0
Ответить

А уж если пост был удален - тогда браузер об этом должен будет знать, иначе получится, что он будет прогружать, пока лента не прогрузится.

0
Ответить
Прокомментировать
Ответить