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
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바