【问题标题】:Unable to load JS script via InnerHTML in Angular 11无法在 Angular 11 中通过 InnerHTML 加载 JS 脚本
【发布时间】:2021-09-20 15:07:44
【问题描述】:

我在 JSON 中有一个 HTML 字符串,其中包含一些文本内容、一个外部 js 脚本标签和一个嵌入的 js 脚本标签。 例如:

我需要在现有 Angular 组件的任何 HTML 元素中呈现该 HTML 字符串。但是当我尝试这样做时,它不会加载 external js 脚本,也不会运行 embedded script 代码。

有人可以帮忙吗?

stackblitz 示例: https://stackblitz.com/edit/angular-dom-sanitization-eg-lrjmfb?file=src/app/app.component.ts

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: angular angular11


【解决方案1】:

您需要在index.html

中添加Script

现在在这里查看 - https://stackblitz.com/edit/angular-dom-sanitization-eg-8p1ruv?file=src%2Findex.html

您的 JS 和视频都已加载。

【讨论】:

  • 是的,你是对的。但由于数据(脚本)来自 JSON,我通过将其附加到 innerHTML 来使用它。但它在那种情况下不起作用。你知道任何替代方案吗?在没有将脚本添加到 body/index.html 中的情况下,Angular JS 可以正常工作。
  • 你检查过我提供的 stackblitz 吗?
  • 是的,我查过了。
  • 那不适合你??如果没有,您能否更新您的 stackblitz 并让我知道您现在面临什么问题??
  • 不,它对我不起作用。我在你的堆栈闪电战中改变了。请调查一下。主要问题是它应该只从 .ts 文件加载。在索引中添加脚本不适合我的项目。
猜你喜欢
  • 2016-09-17
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 1970-01-01
相关资源
最近更新 更多