如何检测iframe是否以角度完全加载

时间:2016-04-19 16:13:20

标签: javascript angularjs iframe

无论如何,我可以检测iframe是否已完成加载? 这是我的iframe代码:

<div ng-if="isLoadDone" class="col-xs-12">
    <div class="text-center"><span class="fa fa-spinner fa-pulse fa-5x fa-fw margin-bottom"></span></div>
  </div>
<iframe ng-if="isLoadDone" class="app-iframe" ng-src="{{trustedApplUrl}}"></iframe>

基本上我想在iframe没有满载的情况下显示微调器。 我想检测iframe是否完成加载没有开始加载。我找到了找出iframe是否开始加载的方法,但是当iframe完成加载时却找不到。任何的想法? 谢谢 -Kim

3 个答案:

答案 0 :(得分:3)

<iframe (load)="myLoadEvent()" id="myiframe"></iframe>

在组件

myLoadEvent(){
// do your task
}

这适用于angular6。 这不是要确定iframe是否已完全加载。但是会帮助那些在这里登陆iframe的人

答案 1 :(得分:1)

您可以使用ng-onload进行此类操作。

<iframe ng-onload="myLoadEvent()" class="app-iframe" ng-src="{{trustedApplUrl}}"></iframe>

答案 2 :(得分:0)

我找到了其他几种方法来使其与IE11和Angular 4兼容。

  1. 使用Renderer2

    <iframe #iframe id="iframe" name="pdfPreview" type="application/pdf"></iframe> this._rndr.listen(this.iframeRef.nativeElement, 'load', (e) => { alert("works"); }

  2. 向窗口添加回调

    <iframe onload="loadEvent(event)" id="iframe" name="pdfPreview" type="application/pdf"></iframe> (window as any).loadEvent = (event) => alert("works too");