我从后端收到SVG图像,我需要将其注入容器中:
<div class="svg-container" [innerHTML]="svgData"></div>
但是,似乎所有<svg>
元素都被删除,而我的容器仍为空:
WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).
我使用像<p></p>
之类的简单测试,但它确实有效。我该怎么做?
答案 0 :(得分:1)
取自Angular 2文档:
信任安全价值
有时候应用程序真的需要包含可执行代码, 显示来自某个URL,或构建潜在危险 网址。为了防止在任何这些情况下自动消毒, 你可以告诉Angular你检查了一个值,检查它是怎么回事 生成,并确保它始终是安全的。不过要小心。如果 你相信一个可能是恶意的价值,你正在介绍一个 安全漏洞进入您的应用程序如有疑问,请找一个 专业的安全审查员。
要将值标记为受信任,请注入DomSanitizer并调用其中一个 以下方法:
> bypassSecurityTrustHtml
> bypassSecurityTrustScript
> bypassSecurityTrustStyle
> bypassSecurityTrustUrl
> bypassSecurityTrustResourceUrl
请记住,价值是否安全 取决于上下文,因此请根据您的预期用途选择合适的上下文 价值。
点击此处查看更多信息: https://angular.io/docs/ts/latest/guide/security.html