読者です 読者をやめる 読者になる 読者になる

onLoadイベントより早く実行する方法

画面周りの処理をjavascriptで書くとwindow.onload = では画面のチラツキが出て困る。

document.addEventListener("DOMContentLoaded", load, false);

ネタ元


※追記

onloadの代わりにDOMContentLoadedを使ってみる

onloadイベントだとDOMの構築が完了しても画像を読み込み終わるまで待ってしまうので、
代わりにDOMContentLoadedイベントを使って処理させてみます。
IEにはDOMContentLoadedがないのでdocument.documentElement.doScroll("left")を
監視してDOM構築が終わるまで再帰しています。
// ページの構築が完了したらloadを呼び出す
(function(){
	if(document.addEventListener){ // opera,safari,mozilla向け
		document.addEventListener("DOMContentLoaded", load, false);
	} else if(/msie/.test(userAgent)){ // IE向け
		try {
			document.documentElement.doScroll("left");
		} catch(error){
			setTimeout(arguments.callee, 0);
			return;
		}
		load();
	} else { // その他
		window.onload = load;
	}
})();