【问题标题】:Get onload event of an angular.element iframe获取 angular.element iframe 的 onload 事件
【发布时间】:2017-03-08 15:23:18
【问题描述】:

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

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

最好的问候

【问题讨论】:

    标签: javascript angularjs iframe onload


    【解决方案1】:

    试试

    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

    【讨论】:

    猜你喜欢
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多