html - 是否可以让 img 标签显示包含其中地址的 svg 图像?
问题描述
我创建了以下 SVG 文件:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="150" height="150">
<rect
x="5"
y="5"
width="140"
height="140"
style="fill:white;stroke:black;stroke-width:1"
id="rect2"
/>
<image
y="50"
x="80"
id="image76"
xlink:href='https://image.flaticon.com/icons/svg/46/46441.svg'
preserveAspectRatio="none"
height="60"
width="60"
/>
<image
y="50"
x="10"
id="image76"
xlink:href='https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Android_robot.png/646px-Android_robot.png'
preserveAspectRatio="none"
height="60"
width="60"
/>
</svg>
我已经设法使用如下object
标签显示它并且它工作正常:
<object type="image/svg+xml" data="image.svg"></object>
结果是这样的:
但是,当我尝试使用该img
标签时,我得到以下结果:
<img src="image.svg"/>
当我尝试使用img
标签显示这个 svg 文件时,其中的图像消失了。我知道会发生这种情况,因为我使用的是https://image.flaticon.com/icons/svg/46/46441.svg和https://upload.wikimedia.org/wikipedia/commons/thumb/6/66之类的地址/Android_robot.png/646px-Android_robot.png用于我的图像,而不是在此 svg 中写入 base64 图像。但是因为object
标签是可能的,所以我很想知道标签是否也可能img
。是否可以让img
标签像这样打开 svg 文件?还是img
标签的限制?
解决方案
没有加载的文档<img>
不能请求任何外部资源,不能执行脚本,不能接收任何用户事件。
对于您的位图图像,您必须将其作为data:
URI 嵌入到 svg 本身中。
推荐阅读
- react-native - Discourse-Mobile 执行失败的任务':react-native-firebase:compileDebugJavaWithJavac'
- javascript - 如何使用 JavaScript 修复错误的 HTML 表单?
- java - WebView Activity 在缺少 Chrome 包时崩溃
- antlr4 - 如何在 antlr 中解析数组?
- javascript - 如何在mongodb中更新数组中的值
- neural-network - 我可以使用具有非线性的堆叠自动编码器来训练 Word2vec 吗?
- http - HTTP 与管道的持久连接。TCP如何将多个文件划分为段
- ios - 从 AppDelegate 到 PresentedViewController 的警报:“尝试在...上呈现 UIAlertController 已经在呈现 UIAlertController”
- python-3.x - AttributeError:“ColumnTransformer”对象在 Python Scikit-learn 中没有属性“shape”
- sql - 在 SQL Server 中保持聚合列不变?