根据这个答案“出于安全原因,图像必须是独立文件”。也就是说,当使用img
标签包含 SVG 文件时,它不能引用任何外部样式表。
我想我在尝试使用 CSS 将 SVG 包含为背景图像时遇到了同样的问题。SVG 链接到其他 SVG 文件并在 Firefox 中直接查看它们时显示正常,但在包含为 CSS 背景图像时无法显示链接的内容。
这些“安全原因”是什么?我在哪里可以找到有关它们的更多信息?
考虑一个允许 SVG 图像作为头像的假设论坛。如果允许外部资源,骗子/恶意用户可以上传包含
<image xlink:href="http://evilhacker.com/myimage.png">
和(假设他们控制 evilhacker.com)的 SVG 文件,他们可以执行以下任何和所有操作:
有关更多详细信息,请参阅此 Mozilla 错误和SVG 集成规范。