ala*_*lan 3 angular angular-dom-sanitizer
最近在我们的Angular 2应用程序中,我们添加了一个视频组件来iframe引入外部嵌入式视频.此外,我们通过利用该管道的管道清理这些资源URL DomSanitizer.问题是我们经常,但不一致,收到以下错误,嵌入的视频将无法加载:
网址细分:'null'
样品消毒管道用法:
<iframe [src]="(videoObservable$ | async)?.resourceUrl | sanitizeResourceUrl"></iframe>
Run Code Online (Sandbox Code Playgroud)
管道方法本身:
transform(url: string): SafeResourceUrl {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
Run Code Online (Sandbox Code Playgroud)
记录url参数的值表明最初使用参数值null调用管道,然后在使用值后立即再次调用管道.
我发现它DomSanitizer没有很好地处理null值,因此下面的修改通过检查null并在环境卫生之前将输入值设置为空字符串来解决问题.
transform(url: string): SafeResourceUrl {
if (!url) {
url = '';
}
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |