iframe dentro do componente angular2, a propriedade 'contentWindow' não existe no tipo 'HTMLElement'
Eu tenho um iframe dentro de um componente angular2 e estou tentando alterar o conteúdo do iframe acessando o contentWindow.
O iframe deve conter um botão simples.
Meu código:
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();
}
}
Se eu comentar o código do construtor e iniciar o aplicativo, ele será compilado e executado corretamente. Então eu descomente e tudo corra perfeitamente (o botão está presente no iframe).
Se eu descompactar o código, inicie o aplicativo (npm start), tenho erros de compilação com a mensagem:
A propriedade 'contentWindow' não existe no tipo 'HTMLElement'
.
Eu também tentei a alternativa de colocar o código do costructor em ngOnInit (), ngAfterContentInit (), ngAfterViewInit (), mas o erro persiste.