windows.onload 와 jquery $(document).ready()
window.onalod는 페이지 리소스가지 모두 완료 되었을때 실행
$(document).ready()는 이미지등 리소스와 상관없이 DOM 생성이 완료되면 실행.
<script type="text/javascript">
if(document.readyState=="loaded" || document.readyState=="complete"){
//loaded와 complete가 중복 수행될 수 있음. 하나만 완료되어도 이벤트 중복 실행 안되게
//onreadystatechange null 처리 ie만 사용.
document.onreadystatechange = null;
alert("ie document 로드 완료");
}else{ //ie외 브라우져
document.onload=function(){
alert("document 로드 완료");
}
}
</script>
readyState 상탱 값
uninitialized : 기본상태값
loading : 파일을 내려받기 시작
interactive : 데이터를 완전히 내려받았지만 아직 데이터 전체를 이용할 수 없는 상태
complete : 모든 데이터를 이용할 수 있는 상태
참고 도서 : 자바스크립트 성능 최적화
궁금한점.
보통 자바스크립트는 페이지에서 읽을때 스크립트 실행이 완료되어야 밑에 페이지가 로드가 된다.
그래서 보통 스크립트를 body아래에 사용하여 컨텐츠 출력후에 처리한다.
head에 $(document).ready() 사용하면 성능 차이가 있을지??
'programming > javascript' 카테고리의 다른 글
onload 이벤트 등록 (0) | 2013.06.04 |
---|---|
html element 위치 값 (0) | 2013.04.21 |
이벤트 중지 preventDefault (0) | 2013.04.13 |
자바스크립트 이벤트 호출 확인 (0) | 2013.04.09 |
자바스크립트의 this는 개발자 의도대로 바인딩되지 않습니다. (0) | 2013.02.12 |