如何避免通过Angular 2向链接添加前缀“不安全"? [英] How can I avoid adding prefix “unsafe” to a link by Angular 2?

查看:59
本文介绍了如何避免通过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')" ..

Demo Plunk

这篇关于如何避免通过Angular 2向链接添加前缀“不安全"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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