我有一个背景图片,文件名中有一个括号:
<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()之后的输出不能识别上面的图像url在IE8中有效并将其剥离(其他浏览器,包括IE7,都可以)。所以我最终得到了这个:
<DIV></DIV>
任何人都知道如何解决这个问题?也就是说,在IE8的url中使用括号克隆背景图像。
感谢。
此外,作为附录,我必须使用内联样式处理相关元素,因此请不要建议使用单独的样式表。
Ad2:在转义时,浏览器渲染后转义的实体变为非转义状态。在页面加载后再次进行克隆,并且要克隆的选定对象中包含未转义的字符。
答案 0 :(得分:7)
不要使用HTML实体转义括号(浏览器将属性中的实体视为等效的文字字符是正确的),使用URL实体转义它们:
(=%28
)=%29
答案 1 :(得分:4)
你错过了一个引用字符:“
<DIV style="BACKGROUND: url('http://site.com/image(8).png');></DIV>
应该是
<DIV style="BACKGROUND: url('http://site.com/image(8).png');"></DIV>
你可以在这里看到,甚至stackoverflow代码格式化程序格式化代码不同
答案 2 :(得分:0)
我想,逃避麻痹会起作用。 TBH,这将是我在URL上使用它的方式。
答案 3 :(得分:0)
(
左括号'('
)
右括号')'
也许这会解决问题?