come e' stato fatto notare in passato non e' una scelta particolarmente felice parlare di soluzione finale

dal punto di vista concettuale:
sarebbe tutto ok se si avesse la garanzia che l' alberatura DOM e' completamente caricata nel momento in cui questa condizione si verifica, if(document.body) {
questo, da quanto ne so, non e' sempre vero

non penso che si sarebbero andati a scomodare defer, readyState ed il resto se la soluzione fosse stata cosi' elementare e totalmente crossbrowser nella sua semplicita'...

ciao