我是Angular 6的新手,但出现此错误:
在资源URL上下文中使用”不安全值(请参阅 http://g.co/ng/security#xss)”
我搜索了分配,发现要解决此问题,需要创建一个我做过的有角度的管道,然后创建新管道,然后在html中更改代码,但问题仍然存在,有人可以指导我吗?
在创建新管道后,更改了如下所示的iframe代码:
<iframe src="http://localhost:8087/bim/api/v1/dashboardTree/{{companyId}} |safe"></iframe>
管道的代码:
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'tree'
})
export class TreePipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {}
transform(url) {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
答案 0 :(得分:0)
src
属性是一个字符串,此处不评估管道。为了使其能够作为表达式求值,应为:
<iframe [src]="('http://localhost:8087/bim/api/v1/dashboardTree/' + companyId) | safe"></iframe>
此外,还存在不一致之处,管道在一个位置为safe
,在另一位置为tree
。