본문 바로가기

Javascript

브라우저에 따른 onLoad 처리

<script language="javascript" type="text/javascript">
//<![CDATA[
if (window.addEventListener) { // W3C 이벤트 모델
    window.addEventListener("load", setupEvents, false);
} else if (window.attachEvent) { // IE
    window.attachEvent("onload", setupEvents);
} else {
    window.onload = setupEvents;
}
function setupEvents(evnt) {
    alert('1234');
}
//]]>
</script>

표준은 addEventListener 인데 IE에서는 attachEvent를 사용한다.
또한 표준은 이벤트에 on을 사용하지 않는다.(ex : load) 하지만 IE에서는 on을 사용(ex : onload)한다.

IE에서 표준을 지켜주지 않는 덕분(?)에 우리같은 개발자는 같은 기능의 프로그램을
몇 개나 만드는 기분이다.

아직 웹표준에 대해 모르는 것이 많으나 지킬려고 노력하고 있고,
프로젝트 하면서 하나씩 배워나가는 중이다.

처음부터 웹표준을 지킨 브라우저를 만들었더라면 우리같은 개발자들이 개발질(?)을
할 이유가 없을텐데 똑같은 기능, 똑같은 표현을 위해 작업하는 양이 많아지게 되었다.

최악의 브라우저 IE6보다 IE7부터는 조금 나아졌지만 다음 버전에선 표준을 지키는
브라우저가 나온다고 하니 기대(?)된다.
( 사실 무섭다. 웹표준을 인지하지 못했을 때 개발한 사이트들이 깨지게 보이게 된다고 생각하니 덜덜덜....
밤샘 작업들이 나를 기다리는 건가? -_-;;; )

'Javascript' 카테고리의 다른 글

defer 속성 - 페이지 로딩속도 향상  (0) 2008.05.10