상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 브라우저에서 비동기 로딩을 어떻게 구현하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
비동기 로딩(Asynchronous Loading)은 웹 페이지의 성능을 향상시키고 사용자 경험을 개선하기 위해 자주 사용되는 기술입니다. 이 기술을 통해 웹 페이지의 일부 요소를 비동기적으로 로드하여 페이지의 초기 로딩 시간을 단축하고, 사용자 인터페이스가 더 빠르게 반응하도록 할 수 있습니다. 비동기 로딩을 구현하는 방법에는 여러 가지가 있으며, 여기서는 JavaScript와 HTML을 사용한 일반적인 방법을 설명하겠습니다. 1. 비동기 스크립트 로딩 JavaScript 파일을 비동기적으로 로드하려면 <a href='https://sangseek.com/sangseeks/`<script>`/ko'>`<script>`</a> 태그에 `async` 또는 <a href='https://sangseek.com/sangseeks/`defer`/ko'>`defer`</a> 속성을 사용할 수 있습니다. - async : 스크립트가 다운로드되는 동안 <a href='https://sangseek.com/sangseeks/HTML 파싱/ko'>HTML 파싱</a>이 계속 진행됩니다. 스크립트가 다운로드가 완료되면 즉시 실행됩니다. 이 방법은 스크립트의 실행 순서가 중요하지 않을 때 유용합니다. ```html <script src="script.js" async></script> ``` - defer : 스크립트가 다운로드되는 동안 HTML 파싱이 계속 진행되며, 모든 HTML이 파싱된 후에 스크립트가 실행됩니다. 이 방법은 스크립트의 실행 순서가 중요할 때 사용됩니다. ```html <script src="script.js" defer></script> ``` 2. AJAX를 통한 비동기 데이터 로딩 AJAX(Asynchronous JavaScript and XML)는 웹 페이지가 서버와 비동기적으로 데이터를 주고받을 수 있게 해주는 기술입니다. AJAX를 사용하면 페이지를 새로 고치지 않고도 데이터를 로드할 수 있습니다. 다음은 AJAX를 사용하여 데이터를 비동기적으로 로드하는 예제입니다. ```javascript function loadData() { const xhr = new XMLHttpRequest(); xhr.open('GET', 'data.json', true); xhr.onload = function() { if (xhr.status === 200) { const data = JSON.parse(xhr.responseText); console.log(data); // 데이터를 페이지에 표시하는 코드 } }; xhr.send(); } // 페이지가 로드된 후 데이터 로드 window.onload = loadData; ``` 3. Fetch API 사용 Fetch API는 AJAX의 현대적인 대안으로, Promise 기반의 API를 제공합니다. Fetch API를 사용하면 비동기적으로 데이터를 요청하고 처리할 수 있습니다. ```javascript function loadData() { fetch('data.json') .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { console.log(data); // 데이터를 페이지에 표시하는 코드 }) .<a href='https://sangseek.com/sangseeks/catch/ko'>catch</a>(error => { console.error('There has been a problem <a href='https://sangseek.com/sangseeks/with/ko'>with</a> your fetch operation:', error); }); } // 페이지가 로드된 후 데이터 로드 window.onload = loadData; ``` 4. 이미지 및 기타 리소스 비동기 로딩 이미지와 같은 리소스를 비동기적으로 로드하려면 JavaScript를 사용하여 동적으로 `<img>` 태그를 생성할 수 있습니다. ```javascript function loadImage() { const img = document.createElement('img'); img.src = 'image.jpg'; img.onload = function() { document.body.appendChild(img); }; } // 페이지가 로드된 후 이미지 로드 window.onload = loadImage; ``` 5. Intersection Observer API Intersection Observer API를 사용하면 사용자가 화면을 스크롤할 때 특정 요소가 뷰포트에 들어올 때 비동기적으로 로드할 수 있습니다. 이 방법은 특히 이미지나 비디오와 같은 리소스를 지연 로드할 때 유용합니다. ```javascript const images = document.querySelectorAll('img[data-src]'); const options = { root: <a href='https://sangseek.com/sangseeks/null/ko'>null</a>, rootMargin: '0px', threshold: 0.1 }; const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { const img = entry.t<a href='https://sangseek.com/sangseeks/arget/ko'>arget</a>; img.src = img.dataset.src; // data-src 속성에서 실제 이미지 URL <a href='https://sangseek.com/sangseeks/가져오기/ko'>가져오기</a> observer.unobserve(img); // 더 이상 관찰하지 않음 } }); }, options); images.forEach(image => { observer.observe(image); }); ``` 결론 비동기 로딩은 웹 페이지의 성능을 향상시키고 사용자 경험을 개선하는 데 중요한 역할을 합니다. JavaScript와 HTML을 사용하여 비동기 로딩을 구현하는 다양한 방법을 통해, 개발자는 페이지의 초기 로딩 시간을 단축하고, 사용자에게 더 매끄러운 경험을 제공할 수 있습니다. 이러한 기술을 적절히 활용하면 웹 애플리케이션의 전반적인 품질을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기