如何在Angular 2中注入SVG图像?

时间:2017-03-08 15:50:21

标签: javascript angular svg

我从后端收到SVG图像,我需要将其注入容器中:

<div class="svg-container" [innerHTML]="svgData"></div>

但是,似乎所有<svg>元素都被删除,而我的容器仍为空:

WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).

我使用像<p></p>之类的简单测试,但它确实有效。我该怎么做?

1 个答案:

答案 0 :(得分:1)

取自Angular 2文档:

  

信任安全价值

     

有时候应用程序真的需要包含可执行代码,   显示来自某个URL,或构建潜在危险   网址。为了防止在任何这些情况下自动消毒,   你可以告诉Angular你检查了一个值,检查它是怎么回事   生成,并确保它始终是安全的。不过要小心。如果   你相信一个可能是恶意的价值,你正在介绍一个   安全漏洞进入您的应用程序如有疑问,请找一个   专业的安全审查员。

     

要将值标记为受信任,请注入DomSanitizer并调用其中一个   以下方法:

> bypassSecurityTrustHtml 
> bypassSecurityTrustScript
> bypassSecurityTrustStyle 
> bypassSecurityTrustUrl
> bypassSecurityTrustResourceUrl 
  

请记住,价值是否安全   取决于上下文,因此请根据您的预期用途选择合适的上下文   价值。

点击此处查看更多信息: https://angular.io/docs/ts/latest/guide/security.html