ํฐ์คํ ๋ฆฌ ๋ทฐ
Window load ํฌ๊ฒ ๋ค ๊ฐ์ง์ API๊ฐ ์๋ค.
1. DOMContentLoaded: HTML ํ์ฑ๋ง ์๋ฃ๋๋ฉด ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถ ๋ฐ ์คํ ๊ฐ๋ฅํ๋ค.
2. load: css ๋ฐ image ๋ฑ๊ณผ ๊ฐ์ ๋ฆฌ์์ค ํ์ผ๋ค์ด ๋ชจ๋ ์๋ฃ๋ ๋ค์ ํธ์ถ ๋ฐ ์คํ ๊ฐ๋ฅํ๋ค.
3. beforeunload: ํ์ฑ์ด ๋ชจ๋ ์๋ฃ๋๊ธฐ ์ ์ ์๊ธฐ์น ๋ชปํ ๋ณ์(์นํ์ด์ง์ ์ด๊ธฐํ ๋ฑ)๊ฐ ์๊ธธ ๋ ํธ์ถ ๋ฐ ์คํ ๊ฐ๋ฅํ๋ค.
4. unload: css ๋ฐ image ๋ฑ๊ณผ ๋ฆฌ์์ค ํ์ผ๋ค์ ๋ถ๋ฌ์ค๋๋ฐ์ ์คํจํ์์๋ ํธ์ถ ๋ฐ ์คํ ๊ฐ๋ฅํ๋ค.
๋ ๋๋ง์์ง๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ณ๋ ฌ์ ์ผ๋ก ํ์ฑ์ ์คํํ์ง ์๊ณ ์ง๋ ฌ์ ์ผ๋ก ์ํํ๋ ๋๊ธฐ์ ์ธ(synchronous) ์ฑํฅ์ ์ง๋๋ค.
์ฆ, script ํ๊ทธ ์์น์ ์ํด ๋ธ๋กํน์ด ๋ฐ์ํ ์ ์๋ค(์ข ์์ ์ด๋ค).
์ด๋ฅผ ์ํด async๋ defer ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ํตํด HTML ํ์ฑ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ก๋์ ๋ํด ๋น๋๊ธฐ์ฑ์ ๋ณด์ฅํ๋ค.
๋ค๋ง, defer์ ๊ฐ์ ๊ฒฝ์ฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ฑ๊ณผ ์คํ์ HTML ํ์ฑ์ด ์๋ฃ๋ ์งํ, ์ฆ DOM ์์ฑ์ด ์๋ฃ ๋ ์งํ์ ์งํ๋๋ค. DOMContentload ์ด๋ฒคํธ๋ HTML ํ์ฑ๋ง ์๋ฃ๋๋ฉด ๋๊ธฐ ๋๋ฌธ์(defer์ ๊ฑฐ์ ๋น์ทํ๊ฒ ํ์ฑ ์๋ฃ) ๋ณด๋ค ๋์ ํจ์จ์ ๋ณด์ฅํ๋ค.
'JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋น๋ ํจํด(Builder Pattern)์ผ๋ก ๊ฐ์ฒด ์์ฑ์ ๋ช ์์ ์ด๊ณ ๊น๋ํ๊ฒ ๊ตฌํ (0) | 2021.03.11 |
---|---|
ํด๋์ค ๋ด์์ this๋ฐ์ธ๋ฉ์ด ์ ๋๋ก ์๋๋ ๋ฌธ์ (0) | 2021.03.11 |
ํด๋์ค ๋ด์์์ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ฒ๋ฆฌ (0) | 2021.03.09 |
module.exports์ exports์ ๊ด๊ณ (0) | 2021.02.28 |
๋๊ธฐ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ํธ์ถ ์์ (0) | 2021.02.27 |