获取 angular.element iframe 的 onload 事件

Get onload event of an angular.element iframe

我正在尝试在添加的 iframe 上获取 onload 事件。这发生在服务函数调用中。它应该下载一个文件,什么工作正常。但我需要等到 iframe 加载到 return 承诺解决。 有问题的简化代码是:

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 select Iframe 并在其上绑定加载事件。但也不起作用。 有什么想法或建议吗?

此致

尝试

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'))
});

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