Я использую Google Reader и хочу внедрить метод, аналогичный тому, как они «кажутся» для поздней загрузки содержимого каждого сообщения. Когда вы нажимаете на одну из ваших подписок, вы видите серию сообщений с фрагментом и другой информацией. Когда вы нажимаете на сообщение, оно раскрывается, раскрывая все тело. Я думал, что они просто переключают видимость элемента, но они, кажется, вставляются в DOM на лету. Вы можете доказать это, посмотрев HTML-код после загрузки страницы - признаков расширенного содержимого нет. Если тело содержит изображения, они загружаются только при расширении. Это значительно улучшает время загрузки исходного запроса, потому что не загружается КАЖДОЕ изображение для КАЖДОГО поста.
У меня есть 2 идеи о том, что происходит:
- Они делают запрос AJAX и вставляют ответ, таким образом загружая и визуализируя любые изображения по мере необходимости.
- Они делают что-то необычное с JavaScript, но я понятия не имею, что именно.
Моя первая попытка визуализировать свернутый контент, но с помощью CSS сделала его невидимым:
display: none
Затем я переключил видимость с помощью jQuery:
$("itemDetail").toggle()
Единственная проблема с этим заключается в том, что изображения внутри невидимого содержимого загружаются во время первоначального запроса - что-то, что не очевидно для пользователя, но может иметь другие негативные последствия.
Вот представление списка (все свернуто):
альтернативный текст http://img6.imageshack.us/img6/4503/croppercapture1.jpg
Вот список с расширенным сообщением:
альтернативный текст http://img6.imageshack.us/img6/4215/croppercapture2.jpg
Есть идеи?