2009-07-31 21 views
4

我正在盡我所能來提高我的網頁的加載速度,特別是加載ajax的組件。DOMContentLoaded/load(event),如何提高速度。

螢火蟲,我出去放像這樣

我不能完全肯定,如果我正確地讀這篇文章,但它是+ 2.19s爲DOMContentLoaded(或它mayonly是0.8,如果我們應該從等待的反應中扣除)。

但是然後4.67s爲'負載'(事件)。

這兩個看起來都像是很長的加載時間。

我一直無法弄清楚會導致什麼樣的情況。 這些統計來自加載一個直接的html頁面,我通常通過ajax加載。 但這只是HTML。頁面中沒有javascript,並且頁面正在直接加載,而不是通過ajax請求。

但是當我通過ajax加載這個頁面時,我發現頁面嘗試加載時顯着延遲。

有什麼建議嗎?

我一直在瀏覽IE調試欄中的html,它看起來都很乾淨。 該頁面共有30張圖片。這可能是'負載'事件正在等待什麼?如果是這樣,有什麼辦法可以加快速度?

特別是,由於用戶永遠不會直接加載此頁面,而只能通過ajax請求加載,這是他們提高ajax中頁面加載性能的一種方法。問題不在於使用ajax加載腳本,而是使用html頁面。

---------------------- EDITTED ----------------------- ------- 該頁面的結果被加載到一個jQuery的週期,其中多個圖像可見的一次,所以使用lazyloader提供了一個非常可怕的用戶體驗。 (假設它是造成這個問題的圖像)。

+0

圖像取決於ajax事件還是總是相同的30個圖形? – jeroen 2009-07-31 18:20:53

回答

6

那些螢火統計信息告訴你:

  • 它需要2.1秒從時間你開始爲你的服務器端代碼開始返回響應
  • 那麼它需要19ms下載請求響應(即HTML)
  • 71ms左右之後,DOMContentLoaded事件觸發
  • 頁面完全加載後(圖​​像全部下載後),激發加載事件。

DOMContentLoaded只要DOM準備就緒就會觸發。加載事件等待整個頁面加載(包括任何外部資源,如圖像)

您的請求(除了下載圖像之外)大部分時間都用於等待服務器構建HTML。也許你的服務器端代碼可以優化運行速度更快?

+0

謝謝吉姆, 這些實際上是我的開發時代。產品更接近600毫秒。我想這是我試圖加速的圖像,看起來不太可能,因爲它們不在我的控制之下。 – pedalpete 2009-08-02 01:18:44