在JavaScript中,onload函數是最經常使用的,幾乎涉及到JavaScript的童鞋都少不了要接觸它。這個函數的作用就是等待網頁完全裝載完了以后再去執行代碼塊內的語句,因為按照文檔流的執行順序,通常用于頭部加載JavaScript的時候需要用到。
以上這兩個看似一樣的功能,但實際有很大的區別。
onload不僅在創建DOM樹之后,而且在所有外部資源全部加載完畢,并且整個頁面在瀏覽器窗口中顯示完畢之后,才會執行。這些資源不僅包括圖片資源,而且包括嵌入在頁面上的flash視頻,如果圖片或者flash過多,那么會一段很長加載時間,也就意味這延遲執行代碼塊的時間會更多。
jQuery中的ready()方法只需要等待文檔結構被完全解析并且瀏覽器已經把HTML轉化為DOM樹后就會執行代碼塊,這里注意的是僅僅是DOM,網頁中的圖片,flash等外部資源都毫無關聯。
由此可見jQuery中的ready()方法將縮短等待時間。
當然還有另外一種方式,就是把腳本都在<body>標簽后面,這樣的話網頁按照文檔流順序執行,也會達到JavaScript中onload或者jQuery中ready()效果,并且這中方式將更快的展現網頁內容。
新聞熱點
疑難解答