尝试获取iFrame窗口时出错

时间:2017-03-02 21:12:18

标签: javascript angular

我正在尝试使用以下代码获取iFrame的窗口:

z==0

不幸的是,我一直收到以下错误:

  var frameWindow = document.getElementById("loginframe");
  var iWindow = frameWindow.contentWindow;

正如您在下面的屏幕截图中看到的那样,“contentWindow”以红色突出显示,这是一个错误......

enter image description here

我尝试过施法:

Property 'contentWindow' does not exist on type 'HTMLElement'.)

但这也不起作用......

这是否与我需要包含的角度库有关?

1 个答案:

答案 0 :(得分:0)

首先,你不应该选择像你应该使用viewChild那样的DOM元素。

<iframe src="urlHere" #loginframe ></iframe>

然后您可以在TypeScript代码中使用它,如下所示:

@ViewChild('loginframe') loginframe: ElementRef;

之后你可以选择这样的元素:(注意:你应该把它投到HTMLIFrameElement

const win = (<HTMLIFrameElement> this.loginframe).nativeElement.contentWindow;

这是一个完全有效的plnkr! (打开控制台查看输出)

https://embed.plnkr.co/kicS6o8QlOEcXyMKNjFi/