(function () {
try {
// DOM树未创建完之前调用doScroll会抛出错误
d.documentElement.doScroll('left');
} catch (e) {
//延迟再试一次~
setTimeout(arguments.callee, 50);
return;
}
// 没有错误就表示DOM树创建完毕,然后立马执行用户回调
init();
})();
//监听document的加载状态
d.onreadystatechange = function() {
// 如果用户是在domReady之后绑定的函数,就立马执行
if (d.readyState == 'complete') {
d.onreadystatechange = null;
init();
}
}
在没有doScroll之前勉强用onreadystatechange,有了doScroll之后更接近DOMContentLoaded的实现。
问题:只用onreadystatechange实现有什么问题?
只用doScroll不行吗?

可能有这方面原因 个人理解 仅供参考
我觉得init函数只执行一次,两个判断那个先完成,就执行哪一个。执行更保险点

又看了下视频 ,视频中也说了一下

添加一段 图片来自javascript高级程序设计