Динамическая загрузка предметов в Google Reader - PullRequest
1 голос
/ 26 апреля 2009

Я использую Google Reader и хочу внедрить метод, аналогичный тому, как они «кажутся» для поздней загрузки содержимого каждого сообщения. Когда вы нажимаете на одну из ваших подписок, вы видите серию сообщений с фрагментом и другой информацией. Когда вы нажимаете на сообщение, оно раскрывается, раскрывая все тело. Я думал, что они просто переключают видимость элемента, но они, кажется, вставляются в DOM на лету. Вы можете доказать это, посмотрев HTML-код после загрузки страницы - признаков расширенного содержимого нет. Если тело содержит изображения, они загружаются только при расширении. Это значительно улучшает время загрузки исходного запроса, потому что не загружается КАЖДОЕ изображение для КАЖДОГО поста.

У меня есть 2 идеи о том, что происходит:

  1. Они делают запрос AJAX и вставляют ответ, таким образом загружая и визуализируя любые изображения по мере необходимости.
  2. Они делают что-то необычное с JavaScript, но я понятия не имею, что именно.

Моя первая попытка визуализировать свернутый контент, но с помощью CSS сделала его невидимым:

display: none

Затем я переключил видимость с помощью jQuery:

$("itemDetail").toggle()

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

Вот представление списка (все свернуто):

альтернативный текст http://img6.imageshack.us/img6/4503/croppercapture1.jpg

Вот список с расширенным сообщением:

альтернативный текст http://img6.imageshack.us/img6/4215/croppercapture2.jpg

Есть идеи?

Ответы [ 2 ]

1 голос
/ 26 апреля 2009

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

Ну, да, это то, что они делают.

Итак, в чем конкретно вопрос? То, что вы делаете с видимостью, совершенно иное, и, как вы сами говорите, не так эффективно.

Итак, вам нужно научиться делать этот запрос с помощью JQuery и помещать HTML-код, полученный из запроса , на страницу в нужной точке.

0 голосов
/ 27 апреля 2009

Я не уверен, что запрос AJAX направляется на сервер Google, когда вы щелкаете свернутый элемент, чтобы развернуть его. Я использовал Firebug для отслеживания любых запросов на вкладке Net. Я вижу только два запроса на этот конкретный элемент, и оба они относятся к серверу, на котором он размещен (в данном случае weblogs.asp.net) - не уверен, что делает первый, но второй получает изображение, встроенное в сообщение. Вот два снимка экрана, до и после, показывающие запросы AJAX:

До: альтернативный текст http://img207.imageshack.us/img207/8461/croppercapture12.jpg

После того, как: альтернативный текст http://img207.imageshack.us/img207/6128/croppercapture13.jpg

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

...