我有两种加载svg的方法-通过链接或通过内联base 64编码的数据字符串。
现在考虑该svg中嵌入了一个映像,该映像链接到同一服务器上的另一个svg。
由于某些原因,当嵌套图像的链接是绝对路径时,它将无法渲染。但是,如果链接是完全限定的URL,则它将呈现。
为什么?
<!-- base 64 loading -->
<object type="image/svg+xml" data="data:image/svg+xml;base64,..." />
<!-- url loading -->
<object type="image/svg+xml" data="/img/some.svg" />
<svg>
<image x="10" y="20" width="80" height="80" xlink:href="/path/a.svg" /><!-- works only with url loading -->
<image x="10" y="20" width="80" height="80" xlink:href="http://localhost/path/a.svg" /><!-- works with both url and base64 loading -->
</svg>