(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不行嗎?
2015-12-15
可能有這方面原因 個人理解 僅供參考
2018-03-09
我覺得init函數只執行一次,兩個判斷那個先完成,就執行哪一個。執行更保險點
2015-12-15
又看了下視頻 ,視頻中也說了一下
2015-12-15
添加一段 ?圖片來自javascript高級程序設計