iframe dentro del componente angular2, la propiedad 'contentWindow' no existe en el tipo 'HTMLElement'
Tengo un iframe dentro de un componente angular2, y estoy tratando de cambiar el contenido del iframe accediendo a contentWindow.
El iframe debe contener un botón simple.
Mi 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();
}
}
Si comento el código del constructor e inicio la aplicación, se compila y se ejecuta correctamente. Luego descomento y todo funciona perfectamente (el botón está presente en el iframe).
Si descompongo el código, entonces inicio la aplicación (npm start) Tengo errores de compilación con el mensaje:
La propiedad 'contentWindow' no existe en el tipo 'HTMLElement'
.
También probé la alternativa de poner el código del constructor en ngOnInit (), ngAfterContentInit (), ngAfterViewInit () pero el error persiste.