window.onload 한계 > script

본문 바로가기
사이트 내 전체검색

script

window.onload 한계

페이지 정보

작성자 서방님 댓글 0건 조회 250회 작성일 11-07-07 09:55

본문

window.onload 는 문서가 다 읽혀진후 실행해야할 함수가 있을 경우 유용하게 쓰입니다.

 

그러나 window.onload의 한계로 문서 하나에 하나의 함수만 읽을 수 있다는 것입니다.

 

예로 firstFunction 과 secondFunction 두개의 함수를 연결하려면

 

window.onload = firstFunction;

window.onload = secondFunction;

 

을 하면 실제로는 마지막 함수만 읽어온다.

 

이를 피하는 방법은

 

window.onload = function () {

  firstFunction();

  secondFunction();

}

 

이런 방법이다.

 

좀더 고급적(?)으로 풀어내기 위해서 사이먼 윌리슨 이라는 사람이

 

function addLoadEvent(func) {

  var oldonload = window.onload;

  if(typeof window.onload != 'function') {

    window.onload = func;

  } else {

    window.onload = function() {

      oldonload());

      func();

    }

  }

}

 

라는 함수를 만들었습니다. 사용방법은 문서상단에 위 함수를 정의하고 문서 어느 곳에서든

 

addLoadEvent(firstFunction);

addLoadEvent(secondFunction); ... 이런 식으로 추가합니다.

 

또 다른 방법 하나

 

window.onloadListeners = new Array();

 

window.addOnloadListener(func) {

  window.onloadListeners[window.onloadListeners.lenght] = func;

  // 한줄 한줄 읽히면서 호출하기때문에 페이지 전체의 addOnloadListener 함수의 갯수가 아니라 순차적으로 저장됩니다

}

 

window.onload = function() {

  for(var i=0;i<window.onloadListeners.length;i++) {

    var func = window.onloadListeners[i];

    func.call();

  }

}

 

addOnloadListener(myFunction1);

addOnloadListener(myFunction2); 이런식으로 추가합니다.

댓글목록

등록된 댓글이 없습니다.

Total 846건 15 페이지
게시물 검색

회원로그인

접속자집계

오늘
317
어제
506
최대
1,347
전체
172,848
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.