将 HTML 片段附加到 Angular 6 中的视图

2023-12-07

我从对外部系统的http请求中获取了一段html代码,我应该在我的角度应用程序的视图中显示它

准确地说,这是我必须显示的 html 片段(每个请求和响应都会有点不同)

<div 
  id='paysonContainer'
  url='https://test-www.payson.se/embedded/checkout?id=af1ebee5-40bd-410a-90d1-a94401553414'>
</div>

<script 
  type='text/javascript' 
  src='https://test-www.payson.se/embedded/Content/payson.js?v2'>
</script>

我使用不同的解决方案建议,例如innerHtml,但它们都不适合我(可能是因为我的html代码中有一些脚本标记)

我将 html 片段作为字符串获取到组件,并希望将其附加到视图(例如视图中的 div)


这个脚本可以封装在 div 中吗?

如果是,那么只需使用[innerHTML]空属性绑定语法div并使用str因为它的价值。

不过,完成此操作后,您将收到一个不安全的脚本错误,您可以通过将其传递到您可以像这样创建的清理管道来修复该错误:

import {
  Pipe,
  PipeTransform
} from '@angular/core';
import {
  DomSanitizer,
  SafeHtml
} from '@angular/platform-browser';

@Pipe({
  name: 'sanitize'
})
export class SanitizePipe implements PipeTransform {

  constructor(private sanitizer: DomSanitizer) {}

  transform(html: string): SafeHtml {
    return this.sanitizer.bypassSecurityTrustHtml(html);
  }
}

创建管道将帮助您在应用程序中的多个位置重用此逻辑。

在您的模板中,您可以简单地使用str as:

<div [innerHTML]="str | sanitize">
</div>

我能够在 UI 上看到该 div 的任何内容。

enter image description here

即便是角度文档说同样的。

绕过安全性并相信给定值是安全的 HTML。仅当绑定的 HTML 不安全(例如包含标签)且应执行代码时才使用此选项。清理程序将保持安全 HTML 完好无损,因此在大多数情况下不应使用此方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 HTML 片段附加到 Angular 6 中的视图 的相关文章

随机推荐

  • sphinx 可以忽略 python 文档字符串中的某些标签吗?

    我正在使用 sphinx 记录我的项目 并使用 sphinxcontrib napoleon 扩展 它允许我使用谷歌风格的文档字符串 这是我的项目中的一个函数 def nn normalized weight normweight fn q
  • 如何将十六进制字符串转换为十进制?

    如果您能告诉我如何转换十六进制字母 我将不胜感激NSString e g 50A6C2 使用 Objective C 转换为小数 提前致谢 最简单的方法是使用NS扫描仪 具体方法scanHexInt or scanHexLongLong 另
  • 如何从晨星上抓取数据

    所以我对网络抓取世界还是个新手 到目前为止我只真正使用 beautifulsoup 从网站上抓取文本和图像 我想我应该尝试从图表上刮掉一些数据点来测试我的理解 但我对此有点困惑graph 在检查了我想要提取的数据的元素后 我看到了这一点 s
  • 如何使用 jQuery 单击事件基于 JSON 查询异步更改 href 值

    我正在使用bit ly 网址缩短服务缩短发送到 在 Twitter 上分享 功能的某些 URL 我想仅在用户实际按下共享按钮时加载 bit ly url 由于 bit ly 的最多 5 个并行请求限制 Bit ly 的 REST API返回
  • SQL Server ISDATE() 函数 - 有人能解释一下吗?

    因此 我查看了 SQL Server 中 ISDATE 函数的文档 并在示例中看到了这一点 SET DATEFORMAT mdy SELECT ISDATE 15 04 2008 Returns 0 SET DATEFORMAT mdy S
  • C# - 关键字使用 virtual+override 与 new

    在基类型中声明方法有什么区别 virtual 然后使用 在子类型中覆盖它override 关键字而不是简单地使用 new 子类型中声明匹配方法时的关键字 我总是发现这样的事情用图片更容易理解 再次 采用约瑟夫 戴格尔的代码 public c
  • VBA 调试器仅显示集合的 256 个元素

    我正在研究 Excel 宏 调试器是否有一个选项可以像数组一样显示所有元素 如果不是 唯一的解决方法是在膨胀集合后将我的类对象存储在数组中吗 你可以使用debug print并将输出写入立即窗口并以此方式绕过限制 我几乎可以肯定没有办法增加
  • 如何在twig模板中显示包含HTML的字符串?

    如何在 twig 模板中显示包含 HTML 标签的字符串 我的 PHP 变量包含以下 html 和文本 word b a word b 当我在我的树枝模板中执行此操作时 word 我明白了 lt b gt a word lt b gt 我想
  • 使用 Yahoo SMTP 以 PHP 发送邮件

    我如何通过以下方式发送电子邮件Yahoo PHP 中的 SMTP 服务器 你应该使用类似的东西斯威夫特 梅勒 or PHP邮件程序 以下示例适用于 Swift message Swift Message newInstance gt set
  • UnauthorizedAccessException:更改 AD 密码时访问被拒绝

    我尝试编写 C 代码来更新 Server 2012 中的域用户密码 我根据以下代码使用以下代码这个堆栈溢出答案 using var context new PrincipalContext ContextType Domain test c
  • 从 Cocoa 中的文件读取时间戳?

    我想读取文件创建 或上次修改 的时间 如 Finder 修改日期 中所示 Cocoa中有没有现有的方法可以做到这一点 谢谢 如果您使用的是 10 5 或更高版本 则可以使用 NSFileManager attributesOfItemAtP
  • 在 doPost() 中访问请求标头

    要验证 Webhook 我需要从请求标头获取参数 到目前为止 我找不到任何信息是否确实可以在应用程序脚本中访问这些标头 到目前为止唯一有效的是访问发布请求的正文 function doPost e something like this v
  • Google Cloud ML Engine - 作业因内部错误而失败。无法执行作业

    这是我之前训练成功的一个ml job 但当我今天尝试时 它不起作用 所以在那之后我尝试删除桶中的所有东西并重新开始 但它仍然不起作用 给出以下错误 发生内部错误 请在几分钟后重试 如果您仍然遇到错误 请联系 Cloud ML None
  • .prev(选择器)不起作用

    这是问题所在 实时复制 CSS div border 1px solid black HTML div div br div div br div class test Should have a blue border div br di
  • 如何垂直移动JApplet内的图像?

    我已经在 J Applet 中显示了一个图像 球 现在我希望图像以垂直方式 上下 移动 问题是我不知道该怎么做 有人对这个问题有想法吗 您需要将该图像的位置设置为某个计算值 意味着您使用时间 速度和其他限制来计算垂直位置 如何设置该位置取决
  • Ljava.lang.Object;无法转换为 [Ljava.lang.Integer

    我编写了一个泛型类 下面是该类的构造函数 我想做这样的事情 如行中所写 elements E new Object size 因为我不知道运行时的泛型类型 所以它会抛出异常 public class Stack
  • (x==0) 能比 (0==x) 更有效吗? [复制]

    这个问题在这里已经有答案了 可能的重复 if flag 0 和 if 0 flag 哪个执行得更快 我通常将平等条件写为 if 0 x 正如很多人所做的那样 而不是 if x 0 这样当我不小心输入 而不是 时 编译器会告诉我 有人告诉我
  • 在 C# 中将字符串转换为位图

    我想将字符串转换为位图或可以在像素框中显示的内容 我的字符串看起来像这样 string rxstring 0100100100200200200300300300400400400500500500600600600700700700800
  • 递归调用函数以获取用户输入

    我正在尝试制作一个石头剪刀布游戏 并正在尝试验证输入 def player1 x raw input please select Rock r Paper p Scissors s lower if x r or x p or x s or
  • 将 HTML 片段附加到 Angular 6 中的视图

    我从对外部系统的http请求中获取了一段html代码 我应该在我的角度应用程序的视图中显示它 准确地说 这是我必须显示的 html 片段 每个请求和响应都会有点不同 div div 我使用不同的解决方案建议 例如innerHtml 但它们都