【问题标题】:How to remove localhost:4200 url appending in [href] attribute in <a> tag in angular如何删除 localhost:4200 url 附加在角度 <a> 标记中的 [href] 属性中
【发布时间】: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

【问题讨论】:

    标签: angular href angular-dom-sanitizer


    【解决方案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 不可用,一旦方法被调用并且网址已填,原来是不安全的
    猜你喜欢
    • 2015-05-09
    • 2016-05-25
    • 2019-09-10
    • 2014-12-24
    • 2021-11-12
    • 2013-06-02
    • 2010-11-18
    • 2022-01-07
    • 2021-01-03
    相关资源
    最近更新 更多