Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- const 단언문
- Chart.js
- 커스텀
- 공통컴포넌트
- React Native
- 2022
- click and drag
- CSS
- vue.js
- javascript
- 반복줄이기
- 레이아웃쪼개기
- reactjs
- React.js
- 폰트적용하기
- 성능최적화
- NonNullable
- 타입스크립트
- 타입좁히기
- typescript
- JS console
- 티스토리꾸미기
- 리액트
- TSDoc
- 제네릭
- 개발콘텐츠
- 누구나 자료구조와 알고리즘
- react
- returnType
- utilty type
Archives
- Today
- Total
몽땅뚝딱 개발자
[Javascript] readyState란? (feat. DOMContentLoaded) 본문
Development/Javascript
[Javascript] readyState란? (feat. DOMContentLoaded)
레오나르도 다빈츠 2024. 1. 27. 15:52
[개념]
document.readyState는 도큐먼트의 로딩 상태를 구독할 수 있는 속성이다. 이 속성이 변경될 때 readyStatechange에서 이벤트가 발생된다. DOMContentLoaded의 대안으로 사용된다.
[속성]
- loading
- interactive: 도큐먼트의 로드가 완료되고 구문 분석은 완료 되었지만 서브 리소스(스크립트, 이미지, 스타일시트, 프레임)은 여전히 로딩 중이다. 상태는 DOMContentLoaded 이벤트가 곧 실행될 것임을 의미한다.
- complete: 로드가 완료되었고 *로드(load) 이벤트가 곧 실행될 것임을 나타낸다.
* 로드 이벤트(🔗MDN): DOMContentLoaded와 대조되는 이벤트로, 리소스 로드가 완료될 때까지 기다리지 않고 페이지 DOM이 로드되자마자 실행된다.
[readyState 사용 방식]
1. switch문 사용하기
switch (document.readyState) {
case "loading":
break;
case "interactive": {
const span = document.createElement("span");
span.textContent = "A <span> element.";
document.body.appendChild(span);
break;
}
case "complete":
console.log(
`The first CSS rule is: ${document.styleSheets[0].cssRules[0].cssText}`,
);
break;
}
2. 이벤트 리스너로 달기
DOMContentLoaded 전에 DOM을 삽입하거나 수정하기 위한 이벤트 리스너이다.
document.addEventListener("readystatechange", (event) => {
if (event.target.readyState === "interactive") {
initLoader();
} else if (event.target.readyState === "complete") {
initApp();
}
});
3. 일반적 선언
document.onreadystatechange = () => {
if (document.readyState === "complete") {
initApplication();
}
};
출처
'Development > Javascript' 카테고리의 다른 글
[Javascript] iframe에서 상위 ↔ 하위 간 통신을 해보자 (0) | 2024.01.27 |
---|---|
[Javascript] 교차 출처일 때 제한되는 메서드와 속성 (0) | 2024.01.27 |
[Javascript] 썸네일 인터랙션 구현하기 (0) | 2024.01.25 |
reverse() vs. reversed() (0) | 2024.01.14 |
[Javascript] 듀얼 모니터에서 팝업 중앙에 띄우기 (0) | 2024.01.09 |
Comments