【发布时间】:2013-07-15 22:11:55
【问题描述】:
想象一下下面的 SVG:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<image xlink:href="foo.png" x="0" y="0" width="100" height="100"/>
</svg>
图像 foo.png 位于同一目录中。如果我们在浏览器中打开这个 SVG,它将正确显示 foo.png。但是如果我们尝试在<img src="..."> 或<image xlink:href="..."/> 在另一个SVG 中使用这个SVG,将不会显示 foo.png。使用最新的 Firefox 和 Chrome 进行测试,包括 file:// 和 http://。两个浏览器的控制台中都没有任何内容,并且网络监视器显示没有尝试加载位图。
我错过了什么吗?我知道如果我将 foo.png 嵌入为“data:image/svg+xml;base64,...”,一切都会好起来的,但我真的想避免这种情况。我尝试包含的位图可能相当大,因此我更喜欢链接而不是嵌入。
【问题讨论】:
-
你可以改用
<object data="image.svg" type="image/svg+xml"/>