Ich habe einen iframe innerhalb einer angular2 Komponente, und ich versuche den Inhalt des iframes durch Zugriff auf das contentWindow zu ändern.
Der Iframe sollte eine einfache Schaltfläche enthalten.iframe in angular2 Komponente, Property 'contentWindow' existiert nicht im Typ 'HTMLElement'
Mein Code:
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();
}
}
Wenn ich die Konstrukteurs-Code und starten Sie die App kommentieren, kompiliert und ordnungsgemäß ausgeführt wird. Dann kommst du auf Kommentar und alles läuft perfekt (der Button ist im iframe vorhanden).
Wenn ich decomment der Code dann die App (NPM Start) beginnen Ich habe die Erstellung Bugs mit der Meldung:
Property 'contentWindow' existiert nicht auf Typ 'Htmlelement'
.
Ich habe auch die Alternative versucht, den Code des Costruktors in ngOnInit(), ngAfterContentInit(), ngAfterViewInit() zu setzen, aber der Fehler bleibt bestehen.