HTML ์์ ์๋ฐ์คํฌ๋ฆฝํธ
JavaScript๋ ์ถํ ์ฆ์ ์น์ ์ง๋ฐฐ์ ์ธ ์ธ์ด์ธ HTML์ ํฌํจ๋์๋ค. ๋ท์ค์ผ์ดํ๋ JavaScript๊ฐ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ HTML ํ์ด์ง ๋ ๋๋ง์ ๋ฐฉํดํ์ง ์์ผ๋ฉด์ ๊ณต์กดํ ๊ธธ์๋ชจ์ํ๋ค. ์ด๋ฌํ ์ด๊ธฐ ์์ ์ ๋๋ถ๋ถ์ด ์ค๋๋ ๊น์ง ์ด์๋จ์๊ณ HTML ๋ช ์ธ์์ ๊ณต์์ ์ผ๋ก ๋ฌธ์ํ๋์๋ค.
<script>
์์#
JavaScript๋ฅผ HTML ํ์ด์ง์ ์ฝ์
ํ๋ ์ผ์ฐจ์ ์ธ ๋ฐฉ๋ฒ์ <script>
์์๋ฅผ ํตํ๋ ๊ฒ์ด๋ค. ์ด๋ ๋ท์ค์ผ์ดํ ๋ด๋น๊ฒ์ดํฐ 2์์ ์ฒ์ ๊ตฌํํ๊ณ , ์ดํ ๊ณต์ HTML ๋ช
์ธ์ ์ถ๊ฐ๋์๋ค.
์์ฑ | ๊ฐ | ์ค๋ช |
---|---|---|
async | async | ์คํฌ๋ฆฝํธ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์คํํ ๊ฒ์ธ์ง ๋ช ์ํจ. |
charset | charset | src ์์ฑ์ผ๋ก ๋ช
์ํ ์ฝ๋์ ๋ฌธ์์
์ ์ง์ ํ๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๋๊ฐ ์ด ์์ฑ์ ๊ฐ์ ๋ฌด์ํ๋ฏ๋ก ์ ์ฐ์ด์ง ์์. |
defer | defer | ํ์ด์ง๊ฐ ์์ ํ ํ์ฑ๋ ๋๊น์ง ์คํฌ๋ฆฝํธ์ ์คํ์ ์ง์ฐ์ํฌ ๊ฒ์ธ์ง ๋ช ์ํจ. |
src | URL | ์ธ๋ถ ํ์ผ์ ์์น๋ฅผ ์ง์ ํจ. |
type | text/javascript (๊ธฐ๋ณธ๊ฐ) ๋๋ module | ์คํฌ๋ฆฝํธ ์ธ์ด์ ์ฝํ
์ธ ํ์
(๋ง์ ํ์
)์ ์ง์ ํจ. ์ด ์์ฑ์ ์๋ตํด๋ ๊ธฐ๋ณธ ๊ฐ์ด text/javascript ๋ก ์์ ํจ. ์ต๊ทผ ๋ธ๋ผ์ฐ์ ์์ module ์ ์๋กญ๊ฒ ์ง์ํ๊ธฐ ์์ํจ. |
<script>
์์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๋ค. ํ์ด์ง์ ์ง์ JavaScript ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ธ๋ถ ํ์ผ์์ ๋ถ๋ฌ์ฌ ์ ์๋ค. <script>
์์ ์์ ์ง์ JavaScript ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๊ณ ํ๋ค.
์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์์ฑํ ๋๋ ๋ฌธ์์ด </script>
๋ ์ธ ์ ์๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฑํ๋ฉด์ ๋ฌธ์์ด </script>
๋ฅผ ๋ซ๋ ํ๊ทธ </script>
๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ๋ฌธ์ ๋ /
๋ฌธ์๋ฅผ ์ด์ค์ผ์ดํํด์ ํด๊ฒฐํ ์ ์๋ค.
<script type="text/javascript"> function sayScript() { alert("<\/script>"); }</script>
JavaScript ์ฝ๋๋ฅผ ์ธ๋ถ์์ ๋ถ๋ฌ์ค๋ ค๋ฉด src
์์ฑ์ ์ฌ์ฉํ๋ค. src
์์ฑ์ ๊ฐ์ผ๋ก JavaScript ํ์ผ์ URL์ ์ง์ ํ๋ค.
<script type="text/javascript" src="example.js"></script>
์ด ์ธ๋ถ ํ์ผ์๋ JavaScript ์ฝ๋๋ง ๋ค์ด๊ฐ๋ฉฐ <script>
, </script>
ํ๊ทธ๋ฅผ ์ฐ์ง์๋๋ค. src
์์ฑ์๋ ์ธ๋ถ ๋๋ฉ์ธ์ URL์ ์จ์ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์๋ JavaScript ํ์ผ๋ ๊ฐ์ ธ์ฌ ์ ์๋ค.
โ๏ธ ๋ง์ฝ
<script>
,</script>
ํ๊ทธ ์ฌ์ด์ ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์๊ณsrc
์์ฑ๋์ฌ์ฉํ๋ค๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ด๋ ค๋ฐ์ ์คํํ๊ณ ์ธ๋ผ์ธ ์ฝ๋๋ ๋ฌด์ํ๋ค.
์ฝ๋๋ฅผ ๊ฐ์ ธ์จ ๋ฐฉ๋ฒ๊ณผ ๊ด๊ณ ์์ด <script>
์์๋ ํ์ด์ง์ ๋ํ๋ ์์๋๋ก ์คํ๋๋ค. ๋ํ ์น ๋ธ๋ผ์ฐ์ ๋ HTML์ ๋ ๋๋งํ๋ ๊ณผ์ ์์ <script>
์์๋ฅผ ๋ง๋๋ฉด ๋ด๋ถ์ ์ฝ๋ ์ ์ฒด๋ฅผ ํ๊ฐํ๊ธฐ ์ ์๋ ํ์ด์ง์ ๋๋จธ์ง ์ฝํ
์ธ ๋ฅผ ๋ถ๋ฌ์ค์ง๋ ์๊ณ ํ์ํ์ง๋ ์๋๋ค.
โ๏ธ ์ด๋ฅผ ๋๊ธฐ์ (Syncronous) ์ฒ๋ฆฌ๋ผ๊ณ ํ๋ฉฐ, ๋น๋๊ธฐ์ (Asyncronous)์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ์ํด์
async
,defer
์์ฑ์ ์ฌ์ฉํ๋ค.
#
ํ๊ทธ ์์น์ ํต์ ์ผ๋ก <script>
์์๋ ํ์ด์ง์ <head>
์์ ์์ ์ฐ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์๋ค.
<!DOCTYPE html><html> <head> <title>Document</title> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </head> <body> <!-- ํ์ด์ง ์ฝํ
์ธ --> </body></html>
์ด๋ฐ ํ์์ ์ทจํ ๋ชฉ์ ์ CSS๋ JS ๊ฐ์ ์ธ๋ถ ํ์ผ์ ๋ํ ์ฐธ์กฐ๋ฅผ ํ๊ณณ์์ ๊ด๋ฆฌํ๊ธฐ์ํจ์ด์์ง๋ง, ์ด๋ ๊ฒํ๋ฉด ์ธ๋ถ ํ์ผ์ ์ ๋ถ ๋ด๋ ค๋ฐ๊ณ ํ์ฑํ๊ณ , ํด์์ ๋๋ผ ๋๊น์งํ์ด์ง ๋ ๋๋ง์ด ๋ฉ์ถ๊ฒ ๋๋ค. ์ด๋ฐ ์ด์ ๋ก ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์
์์๋ ์ผ๋ฐ์ ์ผ๋ก JavaScript ์ฝ๋๋ฅผ <body>
์์ ์์, ํ์ด์ง ์ฝํ
์ธ ๋ง์ง๋ง์ ์ด๋ค.
<!DOCTYPE html><html> <head> <title>Document</title> </head> <body> <!-- ํ์ด์ง ์ฝํ
์ธ --> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </body></html>
์ด๋ ๊ฒ ํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ํ์ด์ง ๋ ๋๋ง์ ๋ชจ๋ ๋ง์น ๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ค.
defer
#
HTML 4.01์์๋ <script>
์์์ defer
์์ฑ์ ์ ์ํ๋ค. defer
์์ฑ์ ๋ชฉ์ ์ํ์ด์ง ์ ์ฒด๋ฅผ ํ์ฑํ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด๋ ์๊ด ์๋ค๊ณ ๋ช
์ํ๋ ๊ฒ์ด๋ค.
<script>
์์์ defer
์์ฑ์ ์ค์ ํ๋ฉด ์คํฌ๋ฆฝํธ ํ์ผ์ ์คํ(execution)์ ์ง์ฐ์ํจ๋ค. ๋ธ๋ผ์ฐ์ ๋ defer
๊ฐ ์ค์ ๋ <script>
์์๋ฅผ ๋ง๋๋ฉด ์ฆ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๊ฐ์ ธ์ค์ง๋ง(fetch) HTML ๊ตฌ๋ฌธ ๋ถ์(parsing)์ ์ผ์์ ์งํ์ง ์๊ณ , parsing์ด ๋๋๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ฒ ๋๋ค.
๋ํ ๋๋ถ๋ถ์ ์ต์ ๋ธ๋ผ์ฐ์ ๋ defer
์์ฑ์ด ์ ์ฉ๋ ์ฌ๋ฌ <script>
์์๊ฐ ์์๋ ํธ์ถ๋ ์์๋๋ก ์คํํ๋ ๊ฒ์ ๋ณด์ฅํ๋ค.
ํ์ง๋ง ๋ช๋ช ๋ธ๋ผ์ฐ์ ๊ฐ ์ด ์์ฑ์ ๋ฌด์ํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ์ฆ์ ๋ด๋ ค๋ฐ๊ณ ์ฆ์ ์คํํ๋ค . ๋ฐ๋ผ์ ์ง์ฐ์ํฌ ์คํฌ๋ฆฝํธ๋ ํ์ด์ง ๋งจ ๋ง์ง๋ง์ ๋๋ ํธ์ด ์ฌ์ ํ ์ต์์ด๋ค.
โ๏ธ
defer
์์ฑ์ ์ธ๋ถ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ถ๋ฌ์ฌ ๋๋ง ์ ํจํ๋ค.
<script defer src="script.js">
async
#
HTML5์์๋ <script>
์์์ async
์์ฑ์ ๋์
ํ์๋ค. async
๋ ์ธ๋ถ ์คํฌ๋ฆฝํธ์๋ง ์ ์ฉ๋๊ณ <script>
์์๋ฅผ ๋ง๋๋ ์ฆ์ ์คํฌ๋ฆฝํธ๋ฅผ fetch ํ๋ค๋ ์ ์์ defer
์ ๋น์ทํ๋ค. defer
์ ๋ฌ๋ฆฌ async
๋ ์คํฌ๋ฆฝํธ๋ฅผ fetchํ๊ณ ๋์ ์คํ๊ฐ๋ฅํ ์์ ์ด ๋๋ฉด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ณ , ๊ตฌ๋ฌธ ๋ถ์์ ์ผ์์ ์งํ๋ค.
์ฌ๋ฌ <script>
์์์ async
๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํธ์ถ๋ ์์๋๋ก์คํํ๋ ๊ฒ์ ๋ณด์ฅํ ์ ์๋ค. ๋จผ์ fetch๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋จผ์ ์คํํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ async
๋ฅผ ์ฌ์ฉํ ๋ ํ์ผ ์ฌ์ด์ ์์กด์ฑ์ด ์์ด์๋ ์๋๋ค.
async
์์ฑ์ ๋ชฉ์ ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ชจ๋ ๋ด๋ ค๋ฐ์ ์คํํ ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์ ์์ด ํ์ด์ง ๋ ๋๋ง์ ์์ํด๋ ์ข์ผ๋ฉฐ, ์์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ์๋์คํฌ๋ฆฝํธ ํ์ผ์ ๋ด๋ ค๋ฐ์ ์คํํด๋ ์ข๋ค๊ณ ๋ช
์ํ๋ ๊ฒ์ด๋ค.
<script async src="script.js">
#
XHTMLXHTML์ HTML์ XML์ ์ ์ฉํ ๊ฒ์ด๋ค. XHTML์ HTML๋ณด๋ค ์๊ฒฉํ์ฌ <script>
์์์์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ธ ๋๋ ์ ์ฉ๋๋ค. ์๋์ ์ฝ๋๋ HTML์์๋ ์ ํจํ์ง๋ง XHTML์์๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
<script type="text/javascript"> function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }</script>
HTML์์๋ <script>
์์์ ์ฝํ
์ธ ๋ฅผ ํ์ฑํ๋ ํน๋ณํ ๊ท์น์ด ์์ง๋ง XHTML์๋ ํด๋น ๊ท์น์ด ์ ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. XHTML์ < ๊ธฐํธ๋ฅผ ํ๊ทธ์ ์์์ผ๋ก ๊ฐ์ฃผํด < ๊ธฐํธ๋ค์์ ๊ณต๋ฐฑ๋ฌธ์๊ฐ ์ฌ ์ ์๋ค๋ ๋ฌธ๋ฒ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
์ด ๋ฌธ๋ฒ ์๋ฌ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์์ ํ ์ ์๋๋ฐ, ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ < ๊ธฐํธ๋ฅผ HTML ์ํฐํฐ <๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ์ฝ๋๋ XHTML์์ ์คํ ๋์ง๋ง ๊ฐ๋ ์ฑ์ด ๋์๋ค.
<script type="text/javascript"> function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }</script>
๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ JavaScript ์ฝ๋๋ฅผ CDATA ์น์ ์ผ๋ก ๊ฐ์ธ๋ ๊ฒ์ด๋ค. XHTML๊ณผ XML์์ CDATA ์น์ ์ ํด๋น ์ฝํ ์ธ ๋ฅผ ์๋ ๊ทธ๋๋ก์ ํ ์คํธ์ด๋ฉฐ ํ์ฑํ๋ฉด ์๋๋ค๊ณ ๋ช ์ํ๋ค.
<script type="text/javascript"><![CDATA[ function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }]]></script>
XHTML ํธํ ์น ๋ธ๋ผ์ฐ์ ๋ ์ด ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ๋์ง๋ง, ๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ XHTML ๋นํธํ์ด๋ฉฐ CDATA๋ฅผ ์ง์ํ์ง ์๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด CDATA ๋งํฌ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฃผ์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ค.
<script type="text/javascript">//<![CDATA[ function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }//]]></script>
์ด๋ ๊ฒ ํ๋ฉด XHTML์ ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์, XHTML์ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ๋ชจ๋์์์ ๋์ํ๋ค.
#
์ธ๋ผ์ธ ์ฝ๋์ ์ธ๋ถ ํ์ผHTML ํ์ผ์ ์ง์ JavaScript ์ฝ๋๋ฅผ ์์ฑํ๋ ์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ธ๋ถ ํ์ผ ์ค์์ด๋ ๋ฐฉ๋ฒ์ด ๋ ์ข์๊น? ์ผ๋ฐ์ ์ผ๋ก ์ธ๋ถ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฒ ์ฌ๋ก๋ก ๊ฐ์ฃผํ๋ค. ์ธ๋ถ ํ์ผ์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ด๋ฆฌ๊ฐ ์ฝ๋ค - JS ํ์ผ์ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ ํ๋์ ๋ชจ์๋๊ณ , ๋งํฌ์ ๊ณผ ๋ฌด๊ดํ๊ฒ JavaScript ์ฝ๋๋ฅผ ์์ ํ ์ ์๋ค.
์บ์ฑ - ๋ธ๋ผ์ฐ์ ๋ ์ธ๋ถ์์ ์ฐ๊ฒฐ๋ JS ํ์ผ์ ๋ชจ๋ ์บ์ํ๋ฏ๋ก, ์๋ก ๋ค๋ฅธ ํ์ด์ง์์ ๊ฐ์ ํ์ผ์ ์ฌ์ฉํ๋ค๋ฉด ํ ๋ฒ๋ง ๋ด๋ ค๋ฐ๊ณ ๋ค์ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ผ์ ์ฑ๋ฅ์ด ์ข์์ง๋ค.
๋ฏธ๋์๋ ์์ ํ๋ค - JS ํ์ผ์ ์ธ๋ถ์ ์ ์ฅํ๋ฉด ์์ ์ธ๊ธํ CDATA ์น์ ์ด๋ ์ฃผ์ํธ๋ฒ์ ์ฐ์ง ์์๋ ๋๋ค. ์ธ๋ถ ํ์ผ์ ๋ถ๋ฌ์ค๋ ๋ฌธ๋ฒ์ HTML์ด๋ XHTML์ด๋ ๋ชจ๋๋๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค.
<noscript>
์์#
<noscript>
์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ JavaScript๋ฅผ ์ง์ํ์ง ์์ ๋ ๋์ฒด ์ฝํ
์ธ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค. <noscript>
์์๋ <script>
์์๋ฅผ ์ ์ธํ ๋ชจ๋ HTML ์์๋ฅผ ํฌํจํ ์ ์๋ค. <noscript>
์์๋ ๋ค์ ๋ ์ํฉ์์๋ง ํ์๋๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ํ์ง ์๊ฑฐ๋
๋ธ๋ผ์ฐ์ ์ ์คํฌ๋ฆฝํธ ์ง์์ด ๊บผ์ ธ ์์ ๋
์ด ๋ ์ํฉ์ ์ ์ธํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ <noscript>
์์์ ์ฝํ
์ธ ๋ฅผ ํ์ํ์ง ์๋๋ค.
<!DOCTYPE html><html> <head> <title>Document</title> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </head> <body> <noscript> <p>This page requires a JavaScript-enabled browser.</p> </noscript> </body></html>
#
์์ฝJavaScript๋ <script>
์์๋ฅผ ํตํด HTML์ ์ฝ์
๋๋ค. JavaScript๋ ์ธ๋ผ์ธ ๋๋ ์ธ๋ถ ํ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
์ธ๋ถ JS ํ์ผ์ ๋ถ๋ฌ์ค๋ ค๋ฉด
src
์์ฑ์ ํ์ผ URL์ ์ด๋ค. ์ธ๋ถ ๋๋ฉ์ธ์ JS ํ์ผ๋ ๊ฐ์ ธ์ ์ธ ์ ์๋ค.๋ชจ๋
<script>
์์๋ ํ์ด์ง์ ๋ํ๋ด๋ ์์๋๋ก ํด์๋๋ค.defer
,async
๋ฅผ ์ฌ์ฉํ์ง ์์๋ค๋ฉด<script>
์์์ ์ฝ๋๋ฅผ ์์ ํ fetchํ๊ณ ์คํํ ์ดํ์๋ง๊ทธ ๋ค์<script>
์์์ ์ฝ๋๋ฅผ ํด์ํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ค.๋ํ
defer
,async
์์ฑ์ ์ฌ์ฉํ์ง ์์๋ค๋ฉด<script>
์์๋ฅผ ๋ง๋ฌ์ ๋ ์ฝ๋๋ฅผ ์์ ํ fetchํ๊ณ ์คํ๋ ๋๊น์ง ํ์ด์ง ๋ ๋๋ง ์ญ์ ์ผ์ ์ ์ง๋๋ค. ์ด ๋๋ฌธ์<script>
์์๋ฅผ ๋ณดํต ํ์ด์ง์ ์ฃผ์ ์ฝํ ์ธ ๋ค์,</body>
ํ๊ทธ ๋ฐ๋ก ์์๋๋๋ค.defer
์์ฑ์ ์คํฌ๋ฆฝํธ์ ์คํ์ ๋ฌธ์ ๋ ๋๋ง ์ดํ๋ก ๋ฏธ๋ฃฌ๋ค.async
์์ฑ์ ํด๋น ์คํฌ๋ฆฝํธ๊ฐ fetch๋ ๋๊น์ง ๋ค๋ฅธ ์คํฌ๋ฆฝํธ๋ ๋ฌธ์ ๋ ๋๋ง์ ์ฐจ๋จํ์ง ์์๋ ๋๋ค๊ณ ๋ช ์ํ๋ค. ์ด ์์ฑ์ ๋งํฌ์ ์์๋๋ก ์คํ๋๋ค๋ ๊ฒ์ ๋ณด์ฅํ์ง ์๋๋ค.
#
์ฐธ๊ณ ์๋ฃ์คํฌ๋ฆฝํธ ํ๊ทธ์ CDATA ์ฌ์ฉ์ ๋ํด์ :: Outsider's Dev Story