jQuery .ready() vs .onload() 특징 및 차이

2019. 7. 16. 14:45·개발메모/WEB

 

개요

>  jQuery를 이용한 뷰단 event 함수 구현 중 비슷하지만 다른 두 jQuery 함수에 대한 궁금증
// 비슷하지만 다른 2개의 소스의 차이점이 무엇인가??
$(document).ready(function(){
	alert('hi - ready');
});

$(window).onload(function(){
	alert('hi - load');
});



메모

1. 호출 시점의 차이 : 한 페이지에 두 함수가 다 있다면 실행 우선순위 (.ready() → .onload() 순으로 실행)
          .ready() 호출시점 : DOM Tree 생성 완료 후
          .onload() 호출시점 : 모든 페이지 구성요소 페인팅 완료 후

* 호출 시점에 대한 자세한 내용은 밑에 "내용" 봐주세용~

 

내용

  • 우선 알아둬야할 내용 "웹 브라우저의 HTML문서 렌더링 과정"

    1. 불러오기(Loading)
      • 불러오기는 HTTP 모듈 또는 파일시스템으로 전달 받은
        리소스 스트림(Resource Stream)을 읽는 과정으로 로더(Loader)가 이 역할을 맡고 있다.
      • 로더는 단순히 읽는 것이 아니라, 이미 데이터를 읽었는지도 확인하고,
        팝업창을 열지 말지, 또는 파일을 다운로드 받을 지를 결정한다.

    2. 파싱(Parsing)
      • 파싱은 DOM(Document Object Model) 트리를 만드는 과정이다.
      • 웹 엔진이 가지고 있는 HTML/XML 파서가 문서를 파싱해서 DOM Tree를 만든다.
      • DOM Tree : 내용을 저장하는 트리로 javascript에서 접근하는 DOM객체를 쓸 때 이용됨.

    3. 렌더링 트리 만들기(Rendering Tree)
      • 렌더링 트리 : DOM Tree와는 별도로 그리기 위한 트리가 만들어져야 하는데, 그것이 렌더링 트리다.
        (그릴 때 필요없는 head, title, body 태그등이 없음
          + display:none; 처럼 DOM에는 있지만 화면에서는 걸러내야할 것들이 걸러내진 트리)

    4. CSS 결정
      • CSS는 선택자에 따라서 적용되는 태그가 다르기 때문에
        모든 CSS 스타일을 분석해 태그에 스타일 규칙이 적용되게 결정한다.

    5. 레이아웃(Layout)
      • 렌더링 트리에서 위치나 크기를 가지고 있지 않기 때문에
        객체들에게 위치와 크기를 정해주는 과정을 레이아웃이라고 한다.

    6. 그리기(Painting)
      • 렌더링 트리를 탐색하면서 페이지를 그려나간다.



  • $(document).ready vs $(window).onload
      • $(document).ready 의 호출 시점 : 1~2번 과정이 완료되어 DOM Tree 생성이 완료된 후 호출
      • $(window).onload 의 호출 시점 : 모든 과정이 완료되어, 웹 페이지가 다 구성된 후 호출

 

 
저작자표시 비영리 (새창열림)

'개발메모 > WEB' 카테고리의 다른 글

JavaScript console 객체를 통한 로깅(console.log, console.table)  (0) 2024.03.17
웹 캐시(WEB Cache)란 무엇인가?(특징)  (1) 2019.07.29
쿠키(Cookie), 세션(Session) 특징 및 차이  (23) 2019.07.17
웹 브라우저 동작 과정 + Script 및 CSS 삽입 위치 효율성  (0) 2019.07.16
'개발메모/WEB' 카테고리의 다른 글
  • JavaScript console 객체를 통한 로깅(console.log, console.table)
  • 웹 캐시(WEB Cache)란 무엇인가?(특징)
  • 쿠키(Cookie), 세션(Session) 특징 및 차이
  • 웹 브라우저 동작 과정 + Script 및 CSS 삽입 위치 효율성
99CORN
99CORN
1990.09.17
  • 99CORN
    넌 잘하고 있어
    99CORN
  • 전체
    오늘
    어제
    • -
      • IT
        • 잔기술
        • 네트워크
        • 면접 예상 질문
      • JAVA
        • 알고리즘
        • 기타
      • PHP
        • 기초
      • C#
        • 기초
      • 개발메모
        • 간단정리
        • WEB
        • 면접준비
        • 기타
      • 블랙홀
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • forl
  • 공지사항

  • 인기 글

  • 태그

    springboot + graphql
    vParam
    https status code
    SERVER 환경변수
    stack
    php 배열관련 함수
    Java
    선택정렬
    자바
    OpenFeign
    sort
    JavaScript
    HTTP
    graphQL
    문자열 대표 클래스
    웹개발
    php
    docker
    JsonVue
    기본문법 정리
    web
    http 상태
    console.table()
    알고리즘
    Queue
    Algorithm
    격리수준
    캐시스탬피드
    JDK Dynamic Proxy
    c#
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
99CORN
jQuery .ready() vs .onload() 특징 및 차이
상단으로

티스토리툴바