我正在尝试使用以下代码获取iFrame的窗口:
z==0
不幸的是,我一直收到以下错误:
var frameWindow = document.getElementById("loginframe");
var iWindow = frameWindow.contentWindow;
正如您在下面的屏幕截图中看到的那样,“contentWindow”以红色突出显示,这是一个错误......
我尝试过施法:
Property 'contentWindow' does not exist on type 'HTMLElement'.)
但这也不起作用......
这是否与我需要包含的角度库有关?
答案 0 :(得分:0)
首先,你不应该选择像你应该使用viewChild那样的DOM元素。
<iframe src="urlHere" #loginframe ></iframe>
然后您可以在TypeScript代码中使用它,如下所示:
@ViewChild('loginframe') loginframe: ElementRef;
之后你可以选择这样的元素:(注意:你应该把它投到HTMLIFrameElement
)
const win = (<HTMLIFrameElement> this.loginframe).nativeElement.contentWindow;
这是一个完全有效的plnkr! (打开控制台查看输出)