【问题标题】:Ampersands (&) in xlink:href attributes of SVG images?SVG图像的xlink:href属性中的&符号(&)?
【发布时间】:2011-08-02 16:07:00
【问题描述】:

我正在构建一个包含各种图像标签的 SVG 文档。图片的 xlink:href(源 URL)属性包含带有 & 符号的查询字符串。如果我将它们转义为 %26 或 ascii 编码 ? 它们不是有效的查询字符串,服务器将不会提供图像。我无法用 CDATA 转义它们,因为它们是属性(不是节点)。我尝试在图像标记中创建一个 xlink:href 节点,但 SVG 解析器忽略了该节点。我想使用纯 SVG(不是 HTML 中的 SVG),以便以后可以转换为 JPG,因此脚本已经出...

关于如何使以下工作的任何提示?

<image x="0" y="0" width="306" height="306" xlink:href="http://host.com/image.jpg?token=asdf&expiration=9384029&etc=etc"/>

谢谢!

【问题讨论】:

标签: svg query-string urlencode ampersand xlink


【解决方案1】:

在所有 XML 应用程序中,包括 SVG,以下实体 are valid 没有自定义 DTD:

  • &amp;amp; - &
  • &amp;gt;->
  • &amp;lt; -

在您的情况下,这应该可以在不使用丑陋的 ASCII 黑客的情况下工作:

<image xlink:href="http://foo.com/bar.jpg?token=asdf&amp;exp=9384&amp;etc=etc"/>

【讨论】:

  • 不幸的是,& 不起作用,因为浏览器在渲染时没有将它们转换回实际的 & 符号,因此查询字符串不起作用。 .. 谢谢,都一样。
【解决方案2】:

解决方案是用正确的 ascii 代码 #38Not #63(这是一个问号 '? ') 正如我在误读这个问题后最初尝试过的那样:using "?" in SVG href

感谢 Stunti https://stackoverflow.com/users/54949/stunti

http://www.ascii.cl/htmlcodes.htm

【讨论】:

    猜你喜欢
    • 2015-02-04
    • 2013-08-13
    • 1970-01-01
    • 2018-05-21
    • 2020-08-06
    • 2019-09-09
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多