Сначала я написал набор кода, используя DOMContentLoaded
с addEventListener
, затем attachEvent
, onreadystatechange
/ (doScroll)
для старого IE / Opera, с откатом до window.onload = function(){...}
.Но, подумав об этом, кажется, что есть гораздо более простой способ: просто проверьте, не является ли document.body
null
или undefined
.Существуют ли какие-либо предостережения относительно использования этого подхода, кроме отсутствия объекта Event
?Потому что это сработало настолько, насколько это возможно:
function checkReady(func) {
function checkBody() {
if (document.body) { clearTimeout(x); func.call(document) }
}
var x = setTimeout(checkBody,10);
}
checkReady(function() {
console.log(this.body.childNodes);
});