DOMContentLoaded
– DOM 구성이 완료되었을 때 document
객체에서 실행됩니다. 자바스크립트를 사용해 요소를 조작하는 것은 이 이벤트가 실행된 후입니다.
<script>...</script>
나 <script src="..."></script>
를 사용해 삽입한 스크립트는 DOMContentLoaded가 실행되는 것을 막습니다. 브라우저는 이 스크립트가 실행되길 기다립니다.DOMContentLoaded
는 실행되어도 이미지를 비롯한 기타 리소스들load
– 페이지를 비롯한 이미지 등의 자원 전부가 모두 불러와졌을 때 window
객체에서 실행됩니다. 모든 자원이 로드되는 걸 기다리기에는 시간이 오래 걸릴 수 있으므로 이 이벤트는 잘 사용되지 않습니다.beforeunload
– 사용자가 페이지를 떠나려 할 때 window
객체에서 발생합니다. 이 이벤트를 취소하려 하면 브라우저는 사용자에게 "we have unsaved changes…"등의 메시지를 띄워 정말 페이지를 떠날 건지 물어봅니다.unload
– 사용자가 최종적으로 사이트를 떠날 때 window
객체에서 발생합니다. unload
이벤트 핸들러에선 지연을 유발하는 복잡한 작업이나 사용자와의 상호작용은 할 수 없습니다. 이 제약사항 때문에 unload
이벤트는 아주 드물게 사용됩니다. 하지만 예외적으로 navigator.sendBeacon
을 사용해 네트워크 요청을 보낼 수 있습니다.document.readyState
– 문서의 현재 상태를 나타내줍니다. readystatechange
이벤트를 사용하면 변화를 추적할 수 있습니다.
loading
– 문서를 불러오는 중일 때interactive
– 문서가 완전히 불러와졌을 때. DOMContentLoaded
가 실행되기 바로 직전에 해당 값으로 변경됩니다.complete
– 문서를 비롯한 이미지 등의 리소스들도 모두 불러와졌을 때. window.onload
가 실행되기 바로 직전에 해당 값으로 변경됩니다.DOMContentLoaded
]DOM 트리를 완성하는 즉시
발생합니다.
<img>
)이나 스타일시트 등의 기타 자원은 기다리지 않습니다.원하는 DOM 노드를 찾아 핸들러를 등록해 인터페이스를 초기화
할 때 활용 가능DOMContentLoaded
이벤트DOMContentLoaded
이벤트 후에 DOM 트리 완성 여부를 따져서 특정 함수를 실행해야 할 때readyState
DOMContentLoaded
가 패스하는 스크립트 로직 탈 때
load
]이미지, 스타일시트 같은 외부 자원도 모두 불러오는 것이 끝났을 때
발생합니다.
실제 크기를 확인
활용 가능window.onload
beforeunload/unload
]