svg中的网站链接

Ste*_*ini 1 xml xhtml svg namespaces

我需要在svg图中包含一个链接文本.这就是我做的

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="138pt" height="188pt" viewBox="0.00 0.00 138.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml">
  <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
    <g id="node5" class="node"><title>EQ2</title>
      <ellipse style="fill:none;stroke:black;" cx="65" cy="-18" rx="29.1851" ry="18"/>
      <text text-anchor="middle" x="65" y="-13.9" style="font-family:Times New Roman;font-size:14.00;">foo <html:a href="http://google.com">bar</html:a></text>
    </g>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

我期望名称空间htmlhtml:a标签将导致正确处理条形文本.但我得到的是没有显示栏.正如答案中所建议的,我可以使用该svg:a元素,但我不明白为什么我的方法不起作用.我希望浏览器HTML渲染器能够启动并处理DOM树的那一部分.

Wil*_*and 6

你想要的<a xlink:href="http://example.org/">.你知道,它也是一个SVG元素.

Re:XHTML链接.我相信一个更好的问题是,你为什么期望它能够发挥作用,或者需要它呢?SVG有自己非常合适的链接元素,广泛实现并得到很好的支持.

正如评论中所建议的那样,它与退出SVG渲染上下文有关; 这可能是也可能不是,更可能是实现定义的行为.即便如此,也不应该认为它可能适用于任何未来的实现,特别是考虑到存在具有相同功能的本机标记.