我在服务器上的同一位置有以下文件 image.svg 和文件 bitmap.png:
<?xml version="1.0" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100px" height="100px" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<image x="0" y="0" width="100px" height="100px"
xlink:href="bitmap.png" />
</svg>
Run Code Online (Sandbox Code Playgroud)
当我直接转到图像文件时,它包含 bitmap.png 图像。
当我将图像包含在带有<object data="image.svg"></object>标签的网页中时,将加载 bitmap.png 文件。
当我将图像包含在带有<img src="image.svg" />标签的网页中时,bitmap.png 不会加载。
是什么赋予了?
根据这个答案 "出于安全原因,图像必须是独立文件".也就是说,当使用img标记包含SVG文件时,它不能引用任何外部样式表.
我想在尝试使用CSS包含SVG作为背景图像时遇到了同样的问题.SVG链接到其他SVG文件并在Firefox中直接查看时显示正常,但在作为CSS背景图像包含时无法显示链接的内容.
这些"安全原因"是什么?我在哪里可以找到有关它们的更多信息?