如何避免在Angular2的链接中添加前缀"unsafe"? [英] How to avoid adding prefix “unsafe” to link by Angular2?

查看:53
本文介绍了如何避免在Angular2的链接中添加前缀"unsafe"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用Angular2,可以避免在链接中添加前缀"不安全:". 我需要为Angular2中默认未列入白名单的协议设置链接,但是对于我们的内部应用程序来说是必需的,因此结果是无效链接:

Using Angular2, is there a setting to avoid adding prefix "unsafe:" to links. I need to set links for protocol which is not whitelisted by default in Angular2, but is needed for our internal applicaion, so result is invalid link:

<a href="unsafe:Notes://MYSERVER/C1256D3B004057E8" ..

在较旧的Angular中,有compileProvider.aHrefSanitizationWhitelist,但在Angular2中找不到类似的东西.

In older Angular there was compileProvider.aHrefSanitizationWhitelist, but I cannot find something similar in Angular2.

推荐答案

使用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')" ..

Demo Plunk

这篇关于如何避免在Angular2的链接中添加前缀"unsafe"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆