Динамически загружать приложение IFRAME на угловую страницу - PullRequest
0 голосов
/ 12 февраля 2019

Мы интегрируем стороннее приложение в приложение Angular 7 через IFRAME, которое требует динамической загрузки стороннего приложения, через GET, а не через <IFRAME src=, чтобы добавить дополнительные заголовки:

  ngOnInit() {
    const url = `3-rd party app url address here`;
    this.load(url)
      .subscribe(blob => {
        this.iframe.nativeElement.src = blob;
      });
  }

  load(url: string): Observable<any> {
    return new Observable((observer: Subscriber<any>) => {
      let objectUrl: string = null;
      this.http
        .get(url, {headers: /* custom headers here */})
        .subscribe(m => {
          objectUrl = URL.createObjectURL(m);
          observer.next(objectUrl);
        });
      return () => {
        if (objectUrl) {
          URL.revokeObjectURL(objectUrl);
          objectUrl = null;
        }
      };
    });
  }

Вот шаблон, на который ссылается this.iframe:

<iframe #iframe width="100%" height="100%" frameborder="0"></iframe>

Что происходит - приложение стороннего производителя успешно получено, но затем отображается в виде точки.

Я считаю, что это потому, что мы динамически загружаем не только HTML-страницу, но и целое приложение со своими собственными script тегами.

Так чего мне не хватает?Что нужно изменить / добавить, чтобы правильно отображалась такая динамическая страница IFRAME?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...