2008-09-18 53 views
6

我正在開發一個web應用程序,每當我們經常遇到頁面將不加載CSS的情況下加載的情況。這個問題已經在IE6,IE7,Safari 3和FF3中顯示出來了。什麼可能導致CSS無法在所有瀏覽器上偶爾加載?

頁面刷新將始終解決問題。

有使用@import加載CSS 3頁的文件,都是一樣的風格的塊中:

<STYLE type="text/css"> 
    @import url([base css file]); 
    @import url([skin css file]); 
    @import url([generated css path]); 
</STYLE> 

在當我們花時間去檢查HTML源任何情況下,沒有什麼是不尋常的。訪問日誌看起來很正常 - 每當請求時我們都會獲得靜態CSS文件的HTTP 304響應,並且會爲我們生成的CSS獲取HTTP 200響應。

mimetype是css文件和生成的CSS的文本/ css。我們使用的是iPlanet服務器,它將請求轉發給Tomcat服務器。

davebug問:

是否總是相同的CSS文件不加載,或者是與他們的問題,均勻?

沒有加載CSS文件。在HTML中定義的任何樣式都可以正常工作,但在發生這種情況時,任何CSS文件都無法正常工作。

+0

它是否總是相同的CSS文件沒有加載,或者它們都是均勻的問題? – 2008-09-18 16:31:48

回答

4

我也有過類似的事情發生,我能首先包括基本樣式表使用「鏈接相對」解決方法而不是「@import」。即將[基本css文件]包含到:

<link rel="stylesheet" href="[base css file]" type="text/css" media="screen" /> 

並將其放在其他之前。

+0

幾個星期前做了這個改變,到目前爲止我們還沒有看到問題再次出現。它發生得如此隨意,但很難說它是否是固定的。 – Illandril 2008-10-27 15:12:08

0

使用ab或httperf或curl或其他來重複從web服務器加載CSS文件。也許這並不是一貫的服務頁面。

3

如果它經常發生,以至於您能夠在瀏覽器中看到它,請嘗試安裝Live http標頭Firefox擴展或Tamper Data擴展,並觀察瀏覽器看到的響應標頭。

0

檢查標題是一個好主意,但我想你會從中學到的是,服務器不會每隔一段時間對請求做出響應。

我看到這一直髮生在網上。只有在刷新之後,圖像纔會加載,css會混亂等等。所有情況都可以通過刷新來解決。

我想象一種方法,你可以「修復」這個,也許是通過在你的cs文件中指定某個圖像的url。然後,在javascript中加載頁面時,獲取該元素並查看該圖像是否已加載。如果沒有,那麼讓頁面重新加載。

似乎很怪異的,但是這是唯一的想法,我已經......

1

我不知道爲什麼,但在我的情況下,如果頁面從類似/ActionName的路徑的動作加載,我看到這個問題。

但是,如果我改變它(例如)到/reservedArea/ActionName/aPath/ActionName它的工作原理:/

這是瘋了...

相關問題