使用Angular 2,是否有一个设置可以避免在链接中添加前缀"unsafe:".我需要为Angular 2中默认未列出的协议设置链接,但我们的内部应用程序需要它,因此结果是无效链接:

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

在旧的Angular中有compileProvider.ahrefsanitationwhitelist,但我在Angular 2中找不到类似的东西.

推荐答案

使用DomSanitizer:

import {DomSanitizer} from '@angular/platform-browser';
...
constructor(private sanitizer:DomSanitizer){}
...
let sanitizedUrl = this.sanitizer.bypassSecurityTrustUrl('Notes://MYSERVER/C1256D3B004057E8');

或者创建一个方法来返回经过清理的url:

sanitize(url:string){
    return this.sanitizer.bypassSecurityTrustUrl(url);
}

然后在模板中:

<a [href]="sanitize('Notes://MYSERVER/C1256D3B004057E8')" ..

Demo Plunk

Angular相关问答推荐

Angular:将服务注入非独立组件导致应用程序中断

独立组件;依赖项注入

在Angular 应用中混合使用较少和较粗俗的文件

如何重新显示ngbAlert(Bootstrap widgest for Angular)消息后再次驳回它

角路径S异步旋转变压器仍可观察到

为什么动画只触发一次?

如何以Angular 解析表单控件名称的无值访问器?

使用指令的 Angular 自定义验证在 ng-change 中无法正常工作

IonicStorageModule似乎不是 NgModule 类

升级到 Webpack 5.79.0 后 NX Angular 项目构建失败

如何在 Angular 中顺序执行回调

Angular APP_INITIALIZER 中的 MSAL 身份验证

Angular 14 类型表单 - 数字控件的初始值

Aws 代码部署在 BeforeBlockTraffic 步骤失败,即使在更新策略后也会超时

模块AppModule导入的意外指令LoginComponent,请添加@NgModule 注释

Angular 2 - 什么是Root Scope?

Angular2 中的providers提供者是什么意思?

如何将 @Input 与使用 ComponentFactoryResolver 创建的组件一起使用?

如何有条件地禁用 routerLink 属性?

如何在 Material 中更改 mat-icon 大小