масло-масляное
function domReady(fn) {
setTimeout(function(){
document.body ? fn() : domReady(fn);
}, 0);
}
или вообще
function domReady(fn) {
var timer=setInterval(function(){
if(document.body) {clearInterval(timer);fn();}
}, 13);//повысил интервал также
}
ИМХО код не имеет права на жизнь, из-за сомнительной кросбраузерности(
не уверен что проверка одного только document.body будет достаточной)
к тому же лучше там, где это возможно,
обходится без setInterval или setTimeout, дабы не давать бессмысленную загрузку на процессор