首页 文章

Angular 4 |在innerHTML中填充iframe

提问于
浏览
1

我有个问题

我订阅了API,它返回一些HTML内容 . 有时候它有iframe . 但是,只有iframe没有加载,而是在浏览器中显示为字符串 . 请检查以下代码

Component File

this._EmittersService.longDescemitted$.subscribe(obj => {
  this.longDesc = obj;
 });`

html file

<div class="description-panel" [innerHTML]="longDesc" ></div>

Problem: 什么时候

this.longDesc = "<iframe width="something" height="something" src="something" ></iframe>"

这显示为一个字符串,它没有检测到它有一个iframe . 我需要角度来允许它呈现为HTML .

1 回答

  • 1

    步骤1:在ts文件中导入以下部分

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

    第2步:在pert ts文件中定义构造函数

    constructor(private domSanitizer:DomSanitizer) {}
    

    第3步: - 根据要求(方法/函数或构造函数)在ts文件中使用以下代码

    this._EmittersService.longDescemitted$.subscribe(obj => {
          this.longDesc = this.domSanitizer.bypassSecurityTrustHtml(obj or any html content);
    or 
    this.longDesc = this.domSanitizer.bypassSecurityTrustHtml('<iframe width="something" height="something" src="something" ></iframe>')
         });
    

相关问题