通过Angular组件中的对象嵌入SVG时发生Uncaught TypeError

时间:2019-01-30 08:39:13

标签: angular google-chrome svg

我想将SVG图像嵌入到我的Angular组件之一中。首先,出于更好的判断,我通过“ img”标签添加了SVG图片,该图片在Chrome中可以正常使用,但没有出现在Edge中。

然后我意识到您嵌入了带有“ object”标签的SVG图像,因此我做到了:

<object type="image/svg+xml" data="assets/img/svg/blur_on_white.svg"></object>

现在,SVG图像显示在Chrome和Edge中,但是Chrome似乎与嵌入式MIME类型“ image / svg-xml”有关。

一旦Chrome加载了组件,我会收到以下问题:“ 未捕获的TypeError:在getAppInternalsScript上无法读取null的属性'getElementsByTagName'”

我偷看了提到的方法“ getAppInternalsScript”,发现Chrome试图从嵌入式SVG图像的“ head”元素中获取脚本。 据我所知,SVG图像不需要也不需要“ head”元素。

现在,我想知道此问题的根本原因是什么,如何消除它。

即使图像正确显示,我也想解决此问题,因为它将淹没控制台,以后我可能会错过一些更严重的问题。

更新

环境设置:

  • Angular CLI:7.0.5
  • 节点:8.12.0
  • 操作系统:Windows 10(64位)-版本1803
  • Chrome:72.0.3626.81(正式版本)(64位)

0 个答案:

没有答案