BLOG main image
분류 전체보기 (313)
교육 (13)
NEIS (6)
Edufine (0)
Programmer (5)
Android Programming (1)
Internet W3 (18)
JAVA Programming (9)
JSP/Servlet (1)
Framework (7)
Spring For Beginner (4)
eGovFrame (10)
MEAN Stack (2)
NodeJS (5)
SublimeText (30)
SublimeText_Tips (18)
Eclipse (16)
JavaScript (8)
jQuery (12)
jQuery_tips (1)
Ajax (3)
DWR(Direct Web Remote) (4)
JSON(JS Object Notation) (4)
Oracle (2)
MySQL (28)
OS (16)
Download (3)
Life (10)
Favorit Site (1)
Books (2)
Healthy (1)
Stocks (1)
HTML5/CSS (1)
Python (4)
Security (7)
CISSP (0)
Ruby On Rails (5)
일기장 (0)
영어 교과서(중2) (3)
알고리즘 (0)
Go Lang (3)
VB 2010 (12)
C# (1)
정보보안기사(네트워크보안) (0)
업무 활용 엑셀 (11)
틈틈이 활용팁 (14)
하루 하루 살아가며 ……. (2)
기술 (1)
파이썬 & 데이터분석 (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2015. 7. 9. 17:33
먼저 window와 document 객체의 차이점 부터 알아보겠다.


- window는 document의 부모객체로서 브라우저 자체를 의미할 수 있으며 접근할 수 있는
자식객체로는 document, self, nvigator, screen, forms, history, location 등이 있다.

- document 객체는 트리형태의 HTML 을 접근할 수있는 객체다.

 


 

$(window).load(function(){

// code

});

⇒ 모든 include 되는 프레임들과 object들, 이미지까지 로드된 이후에 실행된다.

window를 로드하고 난 후 이후에 실행되는 코드들은 모든 객체나 프레임들,
이미지까지 로드한 이후에 실행되므로 document에서 제한된 작업을 진행할 수 있다.

단, 페이지의 로드타임만큼 사용자는 모니터앞에서 기다려야한다.


⇒ 문제점

- This only executes when the page has completely loaded, including all images

- It over-writes existing load or click handlers

- It leaks memory in IE 6

- Solving these problems requires cross-browser workarounds.

That's where libraries come in


 


 

$(document).ready(function(){

// code

});

⇒ 브라우저에서 DOM 트리를 생성하고난 후에 실행되게 되는 코드다.(DOM is ready)

즉, Dom에 대한 접근만이 자유로움.

아직 브라우저에서 다른 객체들이나 이미지들을 로드하지 않은 상황이므로 어떤 페이지를 사용자가

접근할 때 이미지에 대한 가공을 하려 한다면 실패하게 된다.


종합하자면,

외부자원이나 window 객체가 모두 로드되었을 때에 그 자원들을 가공할 필요가 있다면 $(window).load() 를 씀

그것이 아닌 브라우저에서 보이게 될 html 코드들에 대해서만 가공할 필요가 있다면 $(document).ready()를 사용하면 좋은 것 같다.

 

 

[출처] http://enterkey88.tistory.com/148

반응형