DOMContentLoaded是firefox下特有的Event, 當所有DOM解析完以後會觸發這個事件。 與DOM中的onLoad事件與其相近。但onload要等到所有頁面元素載入完成才會觸發, 包括頁面上的圖片等等。 如果頁面的圖片很多的話, 從使用者訪問到onload觸發可能需要較長的時間, 而在Ajax運用中, 常常需要在onload中加入許多初始化的動作, 如果由於網路問題引起 的圖片載入過慢( 見: Ajax優化(2) -lazierLoad img && js), 則必然影響使用者的體驗。在這種情況下firefox的DOMContentLoaded事件, 恰恰是我們需要的。目前,跨平臺的DOMContentLoaded的解決方案有很多, 比如jQuery, Prototype...等等, 其實現原理大同小異.
過去,當一個頁面完成載入時,初始化指令碼的方法是使用load事件,但這個類函式的缺點是僅在所有資源都完全載入後才被觸發,這有時會導致比較嚴重的延遲,開發人員隨後建立了一種自定義事件,domready,它在DOM載入之後及資源載入之前被觸發. domready事件迅速被眾多JavaScript庫所採用,它開始在本地瀏覽器中以DOMContentLoaded的形式被使用;此外,它目前已在HTML5中被標準化,下面的程式碼顯示了DOMContentLoaded是如何在document物件中被觸發的;document.addeventListener('DOMContentLoaded',function(){...},false);值得注意的是,這個網站的行為層可以被更快速地啟動,這意味著使用者可以更快開始瀏覽網站,這對於連線速度慢的網路或者包含大量圖片並需要一些時間載入圖片的網頁來說特別重要,如果只想在所有資源都完成載入之後執行指令碼, 那麼仍然可以使用load.