3

我在文件名中有一个带括号的背景图像:

<DIV style="BACKGROUND: url('http://site.com/image(8).png');"></DIV>

这通常很好,并且没有混淆,因为文件名周围有引号。

然而,查看 IE 的开发人员工具,我发现浏览器出于某种原因去掉了引号。

<DIV style="BACKGROUND: url(http://site.com/image(8).png);"></DIV>

尽管如此,它仍然有效,所以没什么大不了的。当我尝试使用 jquery 的克隆功能时,问题就来了。

显然,clone() 之后的输出在 IE8 中无法识别上述图像 url 并将其删除(其他浏览器,包括 IE7,都可以)。所以我最终得到了这个:

<DIV></DIV>

有人知道怎么修这个东西吗?即在IE8的url中克隆一个带括号的背景图片。

谢谢。

另外,作为附录,我必须对相关元素使用内联样式,所以请不要推荐使用单独的样式表。

Ad2:转义时,浏览器渲染转义实体后,转义实体变为非转义。页面加载后会再次进行克隆,并且要克隆的选定对象中包含未转义的字符。

4

4 回答 4

9

不要用 HTML 实体转义括号(浏览器将属性中的实体视为其文字字符等效项是正确的),用 URL 实体转义它们:

( = %28
) = %29

于 2009-07-21T23:53:43.620 回答
7

您缺少引号字符:“

<DIV style="BACKGROUND: url('http://site.com/image(8).png');></DIV>

应该

<DIV style="BACKGROUND: url('http://site.com/image(8).png');"></DIV>

您可以在此处看到,即使是 stackoverflow 代码格式化程序,也会对代码进行不同的格式化

于 2009-07-21T23:29:47.897 回答
0

我猜想逃避父母亲是可行的。TBH,这将是我在 URL 上使用它的方式。

于 2009-07-21T23:26:37.340 回答
0

&#40;对于左括号 '('

&#41;右括号')'

也许这会解决问题?

于 2009-07-21T23:33:48.543 回答