2013-06-26 57 views
0

我在使用Internet Explorer中的background-image屬性顯示圖像時遇到了一些困難。例如,我變換此URL編碼IE的background-image屬性

DLH_747-8I_1443_RC022_0003 - 複製(2).JPG

url = encodeURI(url).replace(/\(/g, '%28').replace(/\)/g, '%29'); 

到其成爲

DLH_747-8I_1443_RC022_0003 %20-%20Copy%20%282%29.jpg

在Chrome和Firefox中,轉換後的網址與background-image一起工作得很好,但IE當然給我帶來麻煩。

是否有一種特殊的方式,IE編碼基於url()的網址的URL,如background-image

+0

哪個版本的IE? – Mgetz

+0

我試過的所有版本(8 - 10)。 –

回答

1

根據我的研究CSS1定義的URL爲具有關於轉義規則如下:

括號,逗號,空白字符,單引號(')和雙引號(「)出現在URL必須是用反斜槓轉義:「(」,「)」,「\」

這也就意味着,雖然IE是在其URL整體處理技術上不符合標準的,但它在技術上符合規範範圍內。因爲它將DLH_747-8I_1443_RC022_0003\ -\ Copy\ \(2\).jpg識別爲有效的網址。

+0

謝謝!這工作。我發現底層的問題是圖像是JPEG格式不正確(它們是PNG,保存爲擴展名JPG),所以IE不喜歡這種格式。 –