Вызвать метод связки внутри Iframe, используя Angular - PullRequest
0 голосов
/ 07 октября 2019

я постараюсь объяснить мою проблему. Я получил свой собственный продукт, написанный на React, который предоставляется пакетом, доступным из файла index.html (простой и простой вывод React).

Мне нужно сделать так, чтобы этот проект работал на сайте, реализованном с использованием Angular.

Это то, что мне нужно сделать:

1) Istantiateиндекс проекта React (я попытался с помощью Iframe установить атрибут src) 2) вызвать метод, предоставляемый проектом React (обычно вызывается следующим образом: MainClass.show ("XML")), этот метод используется для анализаXML строка и показать что-то на экране.

Вот что я попробовал:

1) Включите index.html в iframe:

@ViewChild('iframe', null) iframe: ElementRef;

constructor(
    private hostElement: ElementRef,
) { }

ngOnInit() {
    const iframe = this.hostElement.nativeElement.querySelector('iframe');
    iframe.src = "http://someip/index.html";       
}

Это работает. Если я открываю консоль Chrome, я могу выбрать фрейм и ввести свой метод, XML-файл анализируется, и я получаю именно то шоу, которое ожидаю, внутри Iframe. Отлично работает. Что мне нужно сделать, это вызвать этот метод из кода (например, после нажатия кнопки).

Я попытался использовать что-то вроде этого:

<HTMLIFrameElement>iframe).contentWindow.MainClass.show("XML")

Но ofc MainClass не определен.

Я действительно потерян в этот момент.

Есть идеи? Предложение?

Заранее спасибо.

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