이미지 태그의 기본 특성
<img src="" loading="lazy"/>
이렇게만 해주면 된다. 그러면 알아서 이 사진이 뷰포트에 닿을 때 로딩하도록 해준다. 또다른 옵션으로는 loading='eager' 옵션이 있는데, 이는 바로 이미지를 로딩하도록 한다. 즉, 레이지 로딩을 안쓰도록 하는 옵션. 하지만, 모든 브라우저에서 지원하는 것이 아니기에 주의해야한다. 실제로 can i use 라는 브라우저별 호환성 혹은 기능 지원 정보를 주는 사이트에서 체크해보니2) 그럼 다른 방법은? 실제로 구현하는 수 밖에 없다. 예를 들어, js 이벤트 핸들러로 scroll 이벤트를 만들으서 스크롤이 특정 위치에 닿으면 이미지를 로드하도록 하는 방식을 써야하는데, 이 때는 img 태그에 src 특성을 쓰면 안되고 data-src 속성을 써야한다. src 속성을 쓰면 무조건 바로 로딩하기 때문에!. 혹은 흔히 알려져있는 intersection observer API를 통해 앞서 말한 scroll 이벤트와 같이 유저의 스크롤 인터랙션에 따라 이미지를 로딩시키는 로직을 세팅해놓을 수 있다.
** 주말에 intersection observer 혹은 scroll 이벤트 핸들러를 통해 위 기능을 구현해보자(참고할 블로그)