У меня есть iframe внутри компонента angular2, и я пытаюсь изменить содержимое iframe, обратившись к contentWindow.
IFrame должен содержать простую кнопку.
Мой код:
import { Component } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'component-iframe',
template: '<iframe id="iframe"></iframe>'
})
export class ComponentIframe {
constructor() {
let iframe = document.getElementById('iframe');
let content = '<button id="button" class="button" >My button </button>';
let doc = iframe.contentDocument || iframe.contentWindow;
doc.open();
doc.write(content);
doc.close();
}
}
Если я комментирую код конструктора и запускаю приложение, он компилируется и запускается правильно. Затем я раскомментирую и все работает отлично (кнопка присутствует в iframe).
Если я разложю код, запустите приложение (запуск npm) У меня есть ошибки компиляции с сообщением:
Свойство 'contentWindow' не существует в типе 'HTMLElement'
.
Я также попробовал альтернативу поместить код бизнес-структуры в ngOnInit(), ngAfterContentInit(), ngAfterViewInit(), но ошибка сохраняется.