그래서 저는 pinterest와 마찬가지로 무한 피드를 많이 사용하는 응용 프로그램을 작성하고 있습니다. 각 카드에는 이미지가 연관되어 있으며 가능한 한 빨리 무한 스크롤을 할 수있는 옵션을 모색 중입니다.이미지 사전로드를 처리하는 가장 좋은 방법
기술 분야에서는 backbone.marionette, isotope 및 imagesLoaded을 사용합니다.
내 구현 흐름은 다음과 같이 진행됩니다
- 캐치 공급
onscroll
이벤트를 - 페이지 X 퍼센트 스크롤, 화재 정의 특정 카드
- 만들기 아약스 요청이
- 을 설정
- 각 뷰를 피드에 추가합니다. 세트에서 각각의 뷰까지
hidden
상태 - 기다림에
Marionette.CollectionView
는imagesLoaded
이벤트에Marionette.CollectionView
- 에
Marionette.CollectionView
- 등록
imagesLoaded
리스너에 추가 동위체 그리드를 새로 고침fadeIn
hidden
ItemViews
infinitescroll
이벤트를 초과하면 반환 된 데이터 배열의 각 객체를 기반으로
Marionette.ItemView
카드 및 관련 모델을 만듭니다.
되었습니다 병목 목은 Amazon S3 서버에서 카드의 모든 이미지를 다운로드 한 후 imagesLoaded
이벤트가 시작되기를 기다리고 있습니다. 내가 생각할 수있는 하나의 주요 최적화는 이미지 미리로드입니다.
나는 다음 세트의 AWS URL을 알아낼 수 있으므로 이미지를 미리 다운로드하고 각각의 카드에 대해 <img>
요소를 만들 수 있음을 이해합니다.하지만 실제로 어떤 일이 일어나는지 약간은 애매합니다. 이미지 캐싱과의 관계, 이것이 구현할 가장 좋은 방법인지 여부
모든 의견이나 조언을 부탁드립니다.