DOMContentLoaded

DOMContentLoaded는 HTML의 해석이 끝난 직후에 발생하는 이벤트입니다. 이 이벤트에 대해 이벤트 리스너로 처리 내용을 설정하는 것으로 불필요한 대기 시간을 줄이고 자바스크립트를 실행할 수 있게 됩니다.

							document.addEventListener('DOMContentLoaded', function () {
								alert('hello');	
							}, false);
						

DOMContentLoaded의 문제는 인터넷 익스플로러8 이전의 브라우저에서는 동작하지 않는다는 점입니다. 단 인터넷 익스플로러에서 같은 기능을 구현하는 방법도 있습니다.

구체적으로 말하면 doScroll() 메서드에서 에러가 나지 않게 될 때까지 기다리고 나서 처리 내용을 실행하는 것입니다. 이것은 DOM 트리를 구축하는 도중에 doScroll() 메서드가 에러를 일으키는 현상을 이용한 것입니다.

							function IEContentLoaded(callback) {
								(function () {
									try {
										document.documentElement.doScroll('left');	
									} catch (error) {
										setTimeout(argument.callee, 0);
										return;
									}
									callback();
								}());
							}

							IEContentLoaded(function () {
								alert('hello');
							});