获取angular.element iframe的onload事件

时间:2016-10-26 10:02:44

标签: javascript angularjs iframe onload

我正在尝试在添加的iframe上获得onload事件。这发生在服务函数调用中。它应该下载一个文件,什么工作正常。但是我需要等到iframe被加载才能返回promise promise。 减少代码的问题是:

iFrame = angular.element('<iframe id="blaba" style=\'position:fixed;display:none;top:-1px;left:-1px;\'/>')
angular.element(document.body).append iFrame
# onload bind here
iFrame.attr('src', url)

我用

尝试了
iFrame.onload = ->      
  $log.info 'iframe loaded'

另外

iFrame.on 'load', (event) ->
  $log.info 'iframe loaded'

我还尝试通过其id选择Iframe并在其上绑定load事件。但也行不通。 有什么想法或建议吗?

最好的问候

1 个答案:

答案 0 :(得分:0)

app.controller('MainCtrl', () => {
  var iFrame = angular.element('<iframe id="blaba" height="200"/>')
  angular.element(document.body).append(iFrame);
  // onload bind here
  var url = 'test.txt';
  iFrame.attr('src', url);
  iFrame.on('load', event => console.log('IFRAME LOADED'))
});

plunker:https://plnkr.co/edit/XeaYCmG6L6NG2T1zaCfN?p=preview