지난번 블로그파크에서 본 글인데, 테스트해보니 확실히 jquery의 $(document).ready(function(){....})보다 빠르고, IE 등 주류 브라우저에서도 잘 작동합니다. 문제 없습니다.
누가 만든 것인지 잊어버렸습니다. 소유자가 보시고 연락주시면 즉시 원본 텍스트를 추가해 드리겠습니다.
var jb51 =new function( ) {
dom = [];
dom.isReady = false
dom.isFunction = function(obj) {
return Object.prototype.toString.call(obj) === "[ object Function] ";
}
dom.Ready = function(fn) {
dom.initReady();
//DOM 트리가 빌드되지 않은 경우 두 번째 단계로 이동하여 저장합니다. 그것을 함께 종료하세요
if (dom.isFunction(fn)) {
if (dom.isReady) {
fn()
//DOM이 빌드되었으면 하나씩 종료하세요. one
} else {
dom.push(fn);
//스토리지 로딩 이벤트
}
}
}
dom.fireReady = function() {
if (dom.isReady) return ;
dom.isReady = true;
for (var i = 0, n = dom.length; i < n; i ) {
var fn = dom[ i];
fn( );
}
dom.length = 0
//이벤트 지우기
}
dom.initReady = function() {
if ( document.addEventListener) {
document.addEventListener("DOMContentLoaded",
function() {
document.removeEventListener("DOMContentLoaded", 인수.callee, false);
//로딩 함수 지우기
dom.fireReady();
},
false);
} else {
if (document.getElementById) {
document.write("")
document.getElementById("ie-domReady").onreadystatechange = function() {
if (this.readyState === "완료") {
dom.fireReady();
this.onreadystatechange =
this.parentNode.removeChild(this)
}
};
}
}
}
}