Angular привязать html к div без использования iframe - PullRequest
0 голосов
/ 01 августа 2020

У меня есть приложение angular. Теперь у меня есть ссылка https://example.com/Exam/denemedir.html. Я хочу привязать этот html к элементу div без использования iframe, потому что я хочу применить код css на странице. css в приложении angular. С Iframe css коды не работают

Это мой html код

<ion-content>
      <div class="text-center head">
        <a routerLink="/subjects"><i class="fa fa-lg fa-arrow-left"></i></a>
        <h5>{{subject.name}}</h5>
        <a class="home" routerLink="/home"><i class="fa fa-lg fa-home"></i></a>
      </div>
      <div class="content"[innerHTML]="content | safe : 'html'" ></div>
 </ion-content>

это мой безопасный канал

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

@Pipe({
  name: 'safe'
})
export class SafePipe implements PipeTransform {

  constructor(protected sanitizer: DomSanitizer) {}
 
 public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {
    switch (type) {
            case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);
            case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);
            case 'script': return this.sanitizer.bypassSecurityTrustScript(value);
            case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);
            case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);
            default: throw new Error(`Invalid safe type specified: ${type}`);
        }
  }

}

, но я не Я не знаю, как привязать этот URL html к элементу div. Есть ли способ привязать html к URL-адресу?

1 Ответ

3 голосов
/ 02 августа 2020

возможно, это то, что вам нужно: { ссылка }

, что дает что-то вроде:

HTML:

<div [innerHTML]="myHtml"></div>

ts:

  myHtml:SafeHtml="";
  constructor(
      private sanitizer: DomSanitizer,
    private httpClient: HttpClient,
  ) {
  }

  async updateHtml(){
let newHtml = await this.httpClient.get(url, {responseType: "text"}).toPromise();

    this.myHtml =  this.sanitizer.bypassSecurityTrustHtml(newHtml);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...