2010-06-02 69 views
2

我試圖設置圖像的來源。該圖像在IE和Firefox中正確顯示,但未在Chrome中顯示。顯示在控制檯中的錯誤消息是:「資源解釋爲圖像,但是以MIME類型text/html傳輸。」在Chrome中未顯示圖像

ColdFusion.Window.show('loading'); 
image = <cfoutput>#randrange(1,numImages)#</cfoutput>; 
document.getElementById("loadImg").src = "./images/loading" + image + ".gif";   
setTimeout('document.images["loadImg"].src = "./images/loading" + image + ".gif"', 100); 

我想我必須改變MIME類型,但我不知道如何去做這件事。我需要改變什麼才能在Chrome中使用?

+4

你能告訴我們你的頁面的其餘部分(HTML等)或示例頁面嗎?在控制檯上顯示錯誤消息(shift + ctrl + J)? – 2010-06-02 16:41:12

+0

您是否嘗試過在路徑中沒有點? – 2010-06-02 17:05:47

+0

有一個錯誤消息 - 請參閱上面的我的編輯。 – dmr 2010-06-02 17:30:53

回答

2

那麼,錯誤消息完全描述了問題。很顯然,其他瀏覽器在使用不正確的MIME類型的圖像時出現問題較少,但Chrome不喜歡它。

這幾乎肯定是服務器端錯誤。您想要動態生成的圖像,如使用PHP腳本?

1

我猜text/html MIME類型是因爲圖像URL返回一個404頁面。嘗試沒有在路徑的點:

document.getElementById("loadImg").src = "images/loading" + image + ".gif"; 
+1

這可能會導致Chrome中的錯誤? – 2010-06-02 17:44:55

+1

好吧,我在想,chrome將URL解釋爲類似http://foo.com/./images/loading1.gif的內容,而Web服務器正在返回404頁面。然後,Chrome會拋出錯誤,因爲返回的HTML不是圖像數據。 – 2010-06-02 17:47:56

+2

但每個網絡服務器(或Chrome本身)都應該簡單地將該URL解析爲foo.com/images/loading1.gif。我剛剛使用http://stackoverflow.com/./questions通過Chrome對其進行了測試,Chrome會自動正確解析網址。 – 2010-06-02 22:28:21

2

我會使用開發工具(按Ctrl-Shift-I鍵),然後檢查你要指定src屬性。一旦你得到這個URL,試試看看你是否真的得到了一個圖像。正如其他人所說,你可能會得到404。URL可能不完全按照你的意圖。

2

IF您知道圖像存在於該位置,那麼Web服務器的MIME類型可能會錯誤地配置爲.gif。應該是圖像/ gif看起來像是text/html。