[JavaScript] ๋ฌธ์„œ์˜ ๋กœ๋“œ์‹œ์  - onload / DOMContentLoaded

2020. 9. 24. 20:16ยท๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/JavaScript

๋ฌธ์„œ์˜ ๋กœ๋“œ์‹œ์  - onload / DOMContentLoaded

๐Ÿ’ก์ผ๋ฐ˜์ ์œผ๋กœ, ์Šคํฌ๋ฆฝํŠธ ๋ฌธ์„œ์˜ ๋งˆ์ง€๋ง‰ </body> ์ด์ „์— ์‚ฝ์ž…ํ•˜๋ฉด ๊ตณ์ด ์ด๋ฒคํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ฒ˜๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

๋‹ค๋งŒ,

  1. ๋ฌธ์„œ์˜ <head>์˜์—ญ์— ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฝ์ž…๋˜๊ฑฐ๋‚˜,
  2. ์™ธ๋ถ€์˜ ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ๋‹ค๋ฉด ์ด๋ฒคํŠธ๋ฅผ ๋ฌธ์„œ์˜ ๋กœ๋“œ ์‹œ์ ์— ๋งž๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

 

1. onload

  1. ๋ฌธ์„œ์˜ ๋ชจ๋“  ์ฝ˜ํ…์ธ (images, script, css, etc)๊ฐ€ ๋กœ๋“œ๋œ ํ›„ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ. (load ์ด๋ฒคํŠธ๋ผ ํ•œ๋‹ค.)
window.onload = function() {
  // ์‹คํ–‰๋  ์ฝ”๋“œ
}
  • ๋ฌธ์„œ์— ํฌํ•จํ•œ ๋ชจ๋“  ์ฝ˜ํ…์ธ ๊ฐ€ ๋กœ๋“œ๋œ ํ›„ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋ถˆํ•„์š”ํ•œ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ๋‹ค.

  • ๋™์ผํ•œ ๋ฌธ์„œ์— ์˜ค์ง onload๋Š” ํ•˜๋‚˜๋งŒ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.

    • ์ค‘๋ณต๋  ๊ฒฝ์šฐ, ๋งˆ์ง€๋ง‰ ์„ ์–ธ์ด ์‹คํ–‰
    • ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ด๋ฏธ ์„ ์–ธ๋œ ๊ฒฝ์šฐ, ์ด๋ฅผ ์ฐพ์•„ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
  • ์™ธ๋ถ€์˜ ์ง€์›(iframe, image, script)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ํ•ด๋‹น๋œ๋‹ค.

 

  1. <body>์š”์†Œ์— ์†์„ฑ(attribute)์œผ๋กœ ์ง€์ •๋  ์ˆ˜ ์žˆ๋‹ค.
<body onload="์‹คํ–‰๋  ์ฝ”๋“œ"></body>
  • ์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋  ๊ฒฝ์šฐ, window.onload ๋กœ ์ง€์ •๋œ ๊ฒƒ์€ ๋ฌด์‹œ๋œ๋‹ค.

 

  1. window ๊ฐ์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›ํ•˜๋Š” ๊ฐ์ฒด(object)๊ฐ€ ๋กœ๋“œ๋˜์—ˆ์„ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
document.getElementById('myFrame').onload = function() {
  // ์‹คํ–‰๋  ์ฝ”๋“œ
}

 

  1. ์ด๋ฒคํŠธ๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
window.addEventListener('load', function() {
  // ์‹คํ–‰๋  ์ฝ”๋“œ
});

 

jQuery load

jQuery์—์„œ๋Š” onload์™€ ๊ฐ™์€ ๋™์ž‘์„ ํ•˜๋Š” load ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

// jQuery
$(window).load(function() {
  // ์‹คํ–‰๋  ์ฝ”๋“œ
});

 

2. DOMContentLoaded

HTML๊ณผ script๊ฐ€ ๋กœ๋“œ๋œ ์‹œ์ ์— ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ.

window.addEventListener('DOMContentLoaded', function() {
  // ์‹คํ–‰๋  ์ฝ”๋“œ
});
  • onload ์ด๋ฒคํŠธ๋ณด๋‹ค ๋จผ์ € ๋ฐœ์ƒ. ๋น ๋ฅธ ์‹คํ–‰์†๋„๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค.
  • IE8 ์ดํ•˜์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

jQuery ready

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ DOM ํŠธ๋ฆฌ๊ฐ€ ์ค€๋น„๋˜์—ˆ์„ ๋•Œ์˜ ์‹œ์ ์„ ์ปจํŠธ๋กคํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋กœ DOMContentLoaded์˜ jQuery๋ฒ„์ „์ด๋ผ ์ƒ๊ฐํ•˜์ž.

// jQuery
$(documenet).ready(function() {
  // ์‹คํ–‰๋  ์ฝ”๋“œ
});
  • onload ์ด๋ฒคํŠธ๋ณด๋‹ค ๋จผ์ € ๋ฐœ์ƒํ•œ๋‹ค. ์ฆ‰, ๋ฌธ์„œ์˜ ๋ชจ๋“  ์ž์›์ด ๋‹ค์šด๋กœ๋“œ๋˜์—ˆ์„ ๋–„ ๋ฐœ์ƒํ•˜๋Š” onload์™€ ๋‹ฌ๋ฆฌ, DOM ํŠธ๋ฆฌ๋งŒ ์™„์„ฑ๋˜๋ฉด ๋ฐ”๋กœ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๋น ๋ฅธ ์‹คํ–‰ ์†๋„๊ฐ€ ํ•„์š”ํ•  ๋–„ ์ ํ•ฉํ•˜๋‹ค.
  • ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉ๋˜๋ฉด ์„ ์–ธ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

2020/02/05 - [๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปDEVELOPE/jQuery] - [jQuery] ready() load() ์ฐจ์ด


 

Reference

https://webdir.tistory.com/515

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JavaScript] Call By Value
  • [JavaScript] JavaScript ์‚ฝ์ž…๋ฐฉ์‹๊ณผ ์œ„์น˜
  • [JavaScript] return / break
  • [JavaScript] ์Šค์ผ€์ค„๋ง setTimeout ๊ณผ setInterval
jmjm
jmjm
  • jmjm
    /* jmjmjm */
    jmjm
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (129)
      • ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY (91)
        • HTML (9)
        • CSS (25)
        • SASS (4)
        • JavaScript (17)
        • jQuery (9)
        • Publishing (8)
        • Git (11)
        • React (6)
        • Vue (0)
        • ์›น์ ‘๊ทผ์„ฑ (1)
        • Gulp (1)
      • ๐ŸฃcodeLab (27)
      • ๐ŸŒˆetc (8)
      • ๐Ÿฅฐ ์ผ์ƒ (2)
      • ๐ŸŒŸ์ฝ์–ด๋ณด๊ธฐ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    sticky jsfiddle
    ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น ์ข…๋ฅ˜
    sass compiler
    ํ˜•์ œ์ธ์ ‘์ž display none
    javascript htmlcollection
    javascript ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    CSS ์„ ํƒ์ž
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ปฌ๋ ‰์…˜
    ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋˜๋Š” ์ด์œ 
    javascript htmlcollection nodelist
    ํ˜•์ œ์ธ์ ‘์ž
    sticky codepen
    react import export
    sass
    javascript nodelist
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ slideup
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹๋ฌธ
    ์›น์ ‘๊ทผ์„ฑ
    HTML Form
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    vscode ๋‹จ์ถ•ํ‚ค
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹ ๋ฌธ
    css flex
    css ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋ผ์š”
    html collection
    ์ ‘๊ทผ์„ฑ ์ฃผ์˜์‚ฌํ•ญ
    css ๊ฐ€์ƒ์„ ํƒ์ž
    sticky ํ™œ์šฉ
    ์•„์ฝ”๋””์–ธ๋ฉ”๋‰ด
    javascript ์ปฌ๋ ‰์…˜
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
jmjm
[JavaScript] ๋ฌธ์„œ์˜ ๋กœ๋“œ์‹œ์  - onload / DOMContentLoaded
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”