如何删除 localhost:4200 url 附加在角度 <a> 标记中的 [href] 属性中

Posted

技术标签:

【中文标题】如何删除 localhost:4200 url 附加在角度 <a> 标记中的 [href] 属性中【英文标题】:How to remove localhost:4200 url appending in [href] attribute in <a> tag in angular 【发布时间】:2021-07-14 06:17:24 【问题描述】:

以下是 html

 <a [href]= "message.messagelinkHere ? sanitize(message.messagelinkHere) : message.messagelink"

在ts文件中

 import  DomSanitizer  from '@angular/platform-browser';

constructor(public sanitizer:DomSanitizer)  
 sanitize(url:string) 
  let sanitizedUrl;
  sanitizedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url)
  console.log(sanitizedUrl) //SafeValue must use [property]=binding:/(https://urldefense.proofpoint.com/v2/url?u=https-3A__nam11.safelinks)
  return sanitizedUrl;
 

尝试点击附加了 http://localhost:4200/https://urldefense.proofpoint.com/v2/url?u=https-3A__nam11.safelinks 的 URL 并且链接正在打开本地应用程序,而不是外部网站。

请告诉我如何删除附加在 href 中的 localhost

【问题讨论】:

【参考方案1】:

这是我没有使用 Dom sanitizer 的解决方案,而是直接使用字符串插值来标记 URL。

https://stackblitz.com/edit/angular-ivy-xe5gzz?file=src%2Fapp%2Fapp.component.html

【讨论】:

我也尝试过不使用消毒剂,urldefense.proofpoint.com/v2/…) 您是否看到我发布的示例链接尝试将您的 URL 放在那里。 如果我直接使用它可以工作,但如果我添加它不会工作的条件它说不安全,我需要根据我需要打开不同的链接添加条件,如上所示 如果我们需要在声明为全局的类变量 URL 中使用它,它会起作用,在某些情况下,我会在某些方法执行时获取 URL,直到 URL 不可用,一旦方法被调用并且网址已填,原来是不安全的

以上是关于如何删除 localhost:4200 url 附加在角度 <a> 标记中的 [href] 属性中的主要内容,如果未能解决你的问题,请参考以下文章

如何在角度 5 中获取基本 url?

如何从 angular localhost:4200 调用 spring security azure AD localhost:8080。天蓝色调用中的错误

从 localhost:4200 访问 localhost:8080 的 XMLHttpRequest 已被 CORS 策略阻止

localhost 和 localhost:4200 角度的 CORS 问题

来源 'http://localhost:4200' 已被 CORS 策略阻止

Angular2中的路由(简单总结)