Угловой 4 | iframe должен быть заполнен в innerHTML

1

у меня проблема

Я подписался на API, который возвращает некоторый HTML-контент. иногда он имеет iframes. однако, только iframe не загружается, и вместо этого он отображается в виде строки в браузере. Пожалуйста, проверьте ниже код

Компонентный файл

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

html файл

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

Проблема: когда

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

это отображается как строка, она не обнаруживает, что она имеет iframe. Мне нужно, чтобы он отображался как HTML.

Теги:
angular
iframe

1 ответ

1
Лучший ответ

Шаг 1: импортируйте нижнюю часть в ts файл

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

Шаг 2. Определение конструктора в персикалярном файле ts

constructor(private domSanitizer:DomSanitizer) {}

Шаг 3: -Use под кодом в файле 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>')
     });
  • 0
    работает, спасибо. но я не верю, что нам нужно импортировать "SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl" требуется импортировать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню