본문 바로가기
boostcource/boostcourse_web programming

DOMContentLoaded

by sgyeong 2024. 6. 13.

DOMContentLoaded

 

우리가 웹사이트를 접속했을때 컨텐츠들이 서버로부터 내려온다. 그리고 HTML을 파싱한다. CSS, JavaScript, 이미지들을 받아와서 HTML과 CSS를 분석해서 배치를 결정하고(Layout) 렌더링 작업을 한 다음 이미지 파일을 받아와서 모든 것을 보여준다. 그 시점 중간에 JavaScript가 들어가서 code를 읽어서 위치를 바꾸면 문제가 생기게 된다. 그렇기 때문 JavaScript 파일을 만들고 나서 HTML 아래쪽에다 위치시키는 것이 일반적인 방법이다. 

 

load와 DOMContentLoaded의 차이는 크롬 개발자도구로 확인할 수 있다. 

크롬 개발자도구의 Network panel을 열어서 하단에 DOMContentLoaded, load를 확인한다.

두 개의 시간이 조금 다르다. DOM Tree 분석이 끝나면 DOMContentLoaded 이벤트가 발생하며, 그외 모든 자원들이 다 받아져서 브라우저에 렌더링(화면표시)까지 다 끝난 시점에는 Load가 발생한다.

보통 DOM Tree가 다 만들어지면 DOM APIs를 통해서 DOM에 접근할 수 있기 때문에, 대부분의 자바스크립트 코드는 DOMContentLoaded 이후에 무언가를 시작하도록 구현하는게 빠르게 동작하는 방법이라 많이 사용한다.

 

 

 

 

참고  :  https://www.boostcourse.org/web316/lecture/20141?isDesc=false

 

웹 프로그래밍(풀스택)

부스트코스 무료 강의

www.boostcourse.org

 

'boostcource > boostcourse_web programming' 카테고리의 다른 글

HTML templating  (0) 2024.06.15
Event delegration  (0) 2024.06.14
서비스 개발을 위한 디렉토리 구성  (0) 2024.06.09
CSS  (0) 2024.06.08
웹 애니메이션, setTimeout  (0) 2024.06.02