如何避免通过Angular 2向链接添加前缀“不安全"? [英] How can I avoid adding prefix “unsafe” to a link by Angular 2?
问题描述
使用Angular 2,是否有设置可避免在链接中添加前缀"不安全:".我需要为Angular 2中默认未列入白名单的协议设置链接,但是对于我们的内部应用程序来说是必需的,因此结果是无效的链接:
Using Angular 2, is there a setting to avoid adding prefix "unsafe:" to links. I need to set links for a protocol which is not whitelisted by default in Angular 2, but it is needed for our internal application, so the result is an invalid link:
<a href="unsafe:Notes://MYSERVER/C1256D3B004057E8" ..
在较旧的Angular中有compileProvider.aHrefSanitizationWhitelist,但是我在Angular 2中找不到类似的东西.
In older Angular there was compileProvider.aHrefSanitizationWhitelist, but I cannot find something similar in Angular 2.
推荐答案
使用 DomSanitizer
:
import {DomSanitizer} from '@angular/platform-browser';
...
constructor(private sanitizer:DomSanitizer){}
...
let sanitizedUrl = this.sanitizer.bypassSecurityTrustUrl('Notes://MYSERVER/C1256D3B004057E8');
或创建一种方法以返回经过清理的网址:
or create a method to return the sanitized url:
sanitize(url:string){
return this.sanitizer.bypassSecurityTrustUrl(url);
}
,然后在您的模板中:
< a [href] ="sanitize('Notes://MYSERVER/C1256D3B004057E8')" ..
这篇关于如何避免通过Angular 2向链接添加前缀“不安全"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!