⊗jsSpAsnIL 153 of 294 menu

JavaScript에서 이미지 비동기 로딩

JavaScript를 통해 동적으로 생성되는 이미지도 비동기적으로 로드됩니다. 다음 코드를 예로 살펴보겠습니다:

let image = document.createElement('img'); image.src = 'img.png'; document.body.appendChild(image);

보시다시피, 여기서는 img 태그를 생성하고, 그 src에 이미지 경로를 지정한 후, 이 이미지를 body에 배치합니다. 그러나 이미지는 페이지에 즉시 나타나지 않습니다. 사실, src에 이미지 경로를 지정하는 순간 브라우저는 해당 이미지를 사이트에서 다운로드하기 시작합니다. 이미지가 완전히 다운로드된 후에야 비로소 브라우저가 이를 표시할 수 있습니다.

이미지가 상당히 크고 인터넷 속도가 매우 느리다면, 사이트 사용자는 이미지가 로드되기 전까지 빈 이미지를 잠시 "감상"해야 할 수 있습니다.

사실 img 태그에는 이미지 로드가 완료될 때 발생하는 load 이벤트가 존재합니다:

let image = document.createElement('img'); image.src = 'img.png'; image.addEventListener('load', function() { // 이미지 로드 시 실행됨 });

이를 활용하여 이미지가 로드된 후에만 페이지에 이미지를 배치할 수 있습니다:

let image = document.createElement('img'); image.src = 'img.png'; image.addEventListener('load', function() { document.body.appendChild(image); // 로드 완료 시 배치 });

이미지가 반드시 로드되리란 보장은 없습니다: 이미지 경로가 잘못되었거나, 인터넷 연결이 끊어지거나, 사이트 서버에 문제가 생기는 등의 상황이 발생할 수 있습니다. 다시 말해, 예외 상황이 발생할 수 있습니다. 이 경우 load 이벤트 대신 error 이벤트가 발생합니다:

let image = document.createElement('img'); image.src = 'img.png'; image.addEventListener('load', function() { document.body.appendChild(image); }); image.addEventListener('error', function() { // 이미지 로드 오류 });

버튼을 만들어 클릭 시 이미지를 로드하세요. 이미지가 로드되면 표시하십시오. 이미지 로드에 문제가 있을 경우 메시지를 출력하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부