2009-05-31 53 views
0

嗨,大家好我跑http://www.websiteoptimization.com/services/analyze/分析儀和我的一些問題最突出的是以下的:查看此網站優化報告 - 我該如何解決?


TOTAL_OBJECTS - 警告!此頁面上的對象總數爲93,其數量將主導網頁延遲。考慮將其減少到更合理的數量。每頁超過20個對象時,處理實際對象(描述時間和等待時間)的開銷佔整個頁面延遲的80%以上。請參閱圖II-3:延遲組件的相對分佈情況,顯示對象開銷主導網站優化中的網頁延遲祕密,以獲取有關對象開銷如何主導網頁延遲的更多詳細信息。組合,優化和優化您的外部對象。用CSS滾動替換圖形滾動來加速顯示並最小化HTTP請求。考慮使用CSS精靈來幫助合併裝飾圖像。使用CSS技術(如彩色背景,邊框或間距而不是圖形技術)可以減少HTTP請求。用CSS文本標題替換圖形文本標題以進一步減少HTTP請求。最後,考慮使用不同的主機名或CDN優化並行下載以減少對象開銷。

TOTAL_IMAGES - 警告!此頁面上的圖像總數爲85,請考慮將其減少到更合理的數字。建議組合,替換和優化圖形。用CSS翻轉菜單替換圖形翻轉菜單以加速顯示並最小化HTTP請求。考慮使用CSS精靈來幫助合併裝飾圖像。使用CSS技術(如彩色背景,邊框或間距)而不是圖形技術來減少HTTP請求。用CSS文本標題替換圖形文本標題以進一步減少HTTP請求。最後,考慮通過使用不同的主機名來優化並行下載以減少對象開銷。


的問題是,提到在我的CSS文件中所有引用的85張照片 - 我不知道我會如何,但希望將這一數字向下 - 然而,我需要在某些時候所有這些文件我的網站。

任何想法,甚至進一步優化。

加上我的JavaScript文件是一個高達150K即使經過最大壓縮 - 我已經用盡了想法來減少開銷,並可以起訴一些提示。

回答

5

您可以使用CSS Sprites作爲圖像(例如菜單翻轉或圖標)。這有兩個方面的好處:

  • 常見的多頁圖像拼合允許瀏覽器緩存精靈形象,從而降低您的網站的其他頁面後續下載。
  • Spriting圖像通過減少服務器發送和接收請求的數量來減少服務器負載,因爲許多圖像可以合併爲一個更大的圖像。

你說你的JavaScript被壓縮到最大 - 然而,你的頁面是否需要它?或者它可以分成幾頁?另外,腳本中是否有不必要的或可以減少的位,例如,通過使用包裝函數執行通常在腳本中執行的任務。一個簡單的例子就是使用Prototype-esque $函數代替document.getElementById,如果多次調用該函數可以非常顯着地減少JavaScript的大小。

此外,正如報告所示,使用樣式文本而不是代表樣式文本的圖像(如果可以的話)(當然這不適用於所有情況)。

0

你可以砍你的CSS文件到不同的文件,以獲得沒有那麼多的圖像。 對於JavaScript文件也是一樣。你真的需要在每個頁面上有150K的javascript嗎? 將其重構爲不同的文件並僅包含您需要的內容。

+0

我試過,但想要有一個單一的CSS文件,以減少http請求。在CSS中的圖像都來自外部的CSS庫,我已經分塊在一起,如jQuery UI和facebox庫。 – Ali 2009-05-31 10:46:35

+0

這與你想要做的事情相反。您希望將所有JavaScript和CSS壓縮到一個文件中(顯然,每個文件都是這樣),因爲那樣只會發送一次,因爲瀏覽器會緩存它。否則,瀏覽器必須緩存每一個文件。對不起,-1。 – 2009-06-02 01:35:14

1

也看看你的圖片是什麼。我看到的一個共同點是不同的導航背景圖像 - 一個圖像顯示爲'Home',另一個顯示'關於我們'等。

您可以將這些組合成一個空白的背景圖像並將文本寫在上面。

1

關於您的JS文件,您可以刪除發佈版本的回車符,「minify」(將所有內部變量和方法更改爲1或2個字符的名稱)和/或gzip它。 JQuery使用這些技術;生產版本爲19K,而開發版本爲120K - 節省超過80%。