2011-03-29 52 views
1

我正在優化CMS網站的CSS使用率,我決定通過PHP提供CSS是個好主意,所以我可以將當​​前頁面的ID發送到樣式表如:

<link href="/css/style.php?id=<?php echo $page_id; ?>" type="text/css" rel="stylesheet" /> 

我這樣做是因爲我認爲這將是一個很好的辦法阻止意味着被裝載上並不需要它的頁面不同的頁面的CSS。然後今天它讓我感到震驚,這個設置意味着當一個新用戶點擊一個內部鏈接時,他們將無法使用他們的緩存樣式表,並且不得不爲每個頁面下載一個新的樣式表。

顯然這不是前進的方向,有沒有人知道更好的方法呢?我已經考慮過使用會話數據,但我寧願不這樣做,因爲如果任何人有cookie,它會打破。我也考慮過在樣式表中使用$ _SERVER ['REQUEST_URI'],但我擔心誤報。

任何想法,將不勝感激。謝謝!

+2

樣式表中的頁面ID觸發器究竟是什麼?因爲如果你只是在進行選擇性加載,那麼你可能最好放棄這一點,並且有一個大型的加載一次的樣式表,並從此開始緩存。 – 2011-03-29 18:46:46

+0

它觸發的事情就像聯繫表單CSS只加載到聯繫我們頁面等我曾經擁有它作爲一個大樣式表,但Page Speed告訴我關閉:( – Andy 2011-03-29 18:49:01

+0

爲什麼它確切地告訴你嗎?大小?時間?樣式表有多大? – 2011-03-29 18:49:55

回答

1

我非常肯定,緩存總是更好,然後提供動態電子表格。

幾乎每個webapp的瓶頸都是帶寬/延遲。因此,不需要請求文件比提供大量可能需要較少處理能力的較小文件更好。

+0

謝謝@gnur和@Pekka的輸入。 – Andy 2011-03-29 18:56:50