-1

background-image在 Internet Explorer 中使用该属性显示图像时遇到了一些困难。例如,我转换这个 url

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

转换后的 URL 在 Chrome 和 Firefox 中工作得很好background-image,但 IE 当然给我带来了麻烦。

IE 是否有一种特殊的方式来编码url()基于属性的 URL,例如background-image

4

1 回答 1

1

根据我的研究,CSS1将 url 定义为具有以下关于转义的规则:

URL 中出现的括号、逗号、空白字符、单引号 (') 和双引号 (") 必须使用反斜杠进行转义:'(', ')', '\,'。

这意味着,虽然 IE 在其 URL 处理整体上在技术上不符合规范,但它在技术上符合规范,只要它识别DLH_747-8I_1443_RC022_0003\ -\ Copy\ \(2\).jpg为有效 URL。

于 2013-06-26T15:11:35.520 回答