【问题标题】:SVG data URI in IMG tag isn't showing on IE11IMG 标记中的 SVG 数据 URI 未在 IE11 上显示
【发布时间】:2019-04-08 15:49:27
【问题描述】:

我让用户上传一个 SVG 图像,并尝试向他展示。

图像在 Edge、Firefox 和 Chrome 上显示良好,但在 IE11 上显示不佳。 当我进入调试模式时,IE 和 Chrome 上的数据 URI 似乎不同。 当我将 Chrome 中的数据 URI 复制到 IE 时,它正在工作。

有什么问题? 为什么 IE 会更改数据 URI?

这里是代码

<img class="large-icon img large-icon-img user-img" id="large-icon" src="" style="height: 96px; width: 96px;">

查看fiddle

谢谢

【问题讨论】:

  • 您的 SVG 中唯一的东西是 PNG 图像。为什么还要为 SVG 烦恼?您没有获得 SVG 格式的任何好处。只需使用 PNG 本身。
  • 无论如何...这可能是stackoverflow.com/questions/32870788/…的副本

标签: image svg internet-explorer-11 data-uri


【解决方案1】:

解决了,

问题在于,要在 IE11 中使用数据 URI,URI 必须是 base64 格式。 所以我获取了 SVG 数据并在其上使用了 'btoa' 函数,并添加了 'svg+xml;base64' 作为他的 MIME 类型。

<img src={`data:image/svg+xml;base64,${window.btoa(data)}`} />

【讨论】:

  • @Lior,我可以看到你已经解决了你的问题。我建议您将自己的最后一个答案标记为该线程的答案,将来可能会对其他成员有所帮助。
猜你喜欢
  • 2013-11-12
  • 2015-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2021-01-14
  • 1970-01-01
  • 2014-01-05
相关资源
最近更新 更多