본문 바로가기

JavaScript/JavaScript

[JavaScript] 페이지 라이프사이클

  • 페이지 라이프사이클은 크게 3가지로 분류된다.
DOMContentLoaded  HTML이 모두 로드되고, DOM 트리가 완성 되었지만,외부 리소스가 아직 로드 되지 않았을 때
※ DOM이 준비된 상태이기 때문에, DOM 노드를 제어 할 수 있다.
load  브라우저에 모든 리소스(img, style, script, etc)가 로드 되었을 때
※ 모든 리소스가 로드된 시점이기에, image 사이즈와 같은 것들을 얻을 수 있다.
beforeunload / unload  페이지를 떠날 때 (사용빈도 낮음)
※ 변화에 따른 저장 여부 및 페이지 이탈 여부를 확인할 수 있다.
  • 위 내용을 보았을때, "DOMContentLoaded" 가 "load" 보다 빨리 발생한다는 것을 알 수 있다.

load 보다 jQuery의 ready 또는 DOMContentLoaded를 사용 하는 이유는?
  • load는 모든 리소스를 로드해야하기 떄문에 DOMContentLoaded가 발생된 후 발생한다.
  • 대부분의 경우 모든 리소스를 기다릴 필요 없는 경우가 많아 단순히 빠른 실행을 위함이다.
  • 하지만 리소스에 이벤트를 작업 해야 하는 경우 "load"를 쓰도록 하자