웹마스터 팁

XXX는 객체가 아닙니다.

2003.05.12 23:59

RedEye

분명 논리적으로 문제가 없어 보이는 스크립트인데, 이런 오류가 나오는 경우는 보통 브라우저가 아직 문서 내용을 모두 로딩하지 못한 상태에서 문서 상에 나오는 특정 객체에 접근하려는 시도가 실패했을때 나오는 오류입니다.
전형적인 오류의 원인은 아직 로딩이 되지 않은 이미지 객체의 정보를 조회하려고 하거나, 선언되지 않은 폼 객체의 값을 읽기 혹은 쓰기를 시도하고자 할 때 일어나며, 스크립트 작성자가 해당 스크립트의 실행 타이밍에 대한 이해가 부족한 경우에 많이 발생합니다.

이런 부류의 오류에 대한 해결방법은, 오류가 일어나는 부분에 해당하는 스크립트 코드가 반드시 문서가 로딩이 완료된 이후에 실행될 수 있도록 BODY 태그의 onLoad 이벤트를 통해 실행되도록 하거나, 해당 객체 자체의 이벤트 핸들러로서 연결되어 수행되도록 구조를 변경해야 합니다.
구조 변경이 용이하지 못한 경우에는 해당 스크립트에 이러한 오류를 사전에 점검할 수 있도록 typeof 연산자나 eval 함수 등을 이용해서 오류를 유발할 수 있는 부분의 실행 전에 실행 여부를 결정할 수 있도록 분기를 설정할 수 있으나, 권장할만한 방법은 아닙니다.


출처 : 오래전 야후 검색도중 웹페이지검색에서 발취로 해당사이트명 모름,, 이구,,돌머리 같으니 ㅡㅡ;;

P.S : 이 팁의 원작자나 혹시 이팁을 어느사이트에서 보신분께서는 코멘트로 사이트명을 적어주시면 감사 하겠습니다. ^^;;

저도 께림찍하니 게시판 관계자 분께서 판단후 삭제 바랍니다.


제목 글쓴이 날짜
[배경음악] 첫곡은 랜덤, 그 이후로는 순차재생 [20] 이주경 2003.05.06
랜덤 배경화면 구현하기 초간단 스크립트 공개(중복아님) [5] 호호짱 2003.05.07
이벤트 핸들러 (Event Handler) 모음 [2] 아이쿠 2003.05.10
구문 오류 및 런타임 오류 모음 [1] 아이쿠 2003.05.10
[벅스 전용] 랜덤 음악 재생 Javascript. [1] sundew 2003.05.11
자바스크립트의 활용함에 대해 2 .... [1] RedEye 2003.05.18
자바스크립트의 활용함에 대해.... [5] RedEye 2003.05.12
XXX는 객체가 아닙니다. [1] RedEye 2003.05.12
크롬리스(Chromless) 웹어플리케이션 -1 [1] sundew 2003.05.17
크롬리스(Chromless) 웹어플리케이션 -2 [5] sundew 2003.05.18
오늘 날짜와 시간 [3] Brown 2003.05.20
크롬리스(Chromless) 웹어플리케이션 -3 [5] sundew 2003.05.21
손님컴퓨터에 내홈피 즐겨찾기 원클릭으로추가시키기 [5] 호호짱 2003.05.23
크롬리스(Chromless) 웹어플리케이션 -4 [4] sundew 2003.05.23
오른쪽 버튼 클릭시 북마크창 띄우기(1석2조 방식) [4] RedEye(rinja) 2003.05.23
스크롤되는 레이어 나두 갖구 싶어서 ^^; 맹글어 봤습니다. [10] M@xPond 2003.05.28
크롬리스(Chromless) 웹어플리케이션 -5 [3] sundew 2003.05.28
메뉴 옆에서 화살표가 스크롤되는.. [2] 힘찬연못 2003.05.29
크롬리스(Chromless) 웹어플리케이션 -6 (최종) [4] sundew 2003.05.30
오른쪽마우스 클릭금지,드래그금지,하단주소 숨기기 한꺼번에~ [8] 한길 2003.06.03