2016-10-26 8 views
0

Я пытаюсь получить событие onload на добавленном iframe. Это происходит в вызове служебной функции. Предполагается загрузить файл, что отлично работает. Но мне нужно подождать, пока загрузится iframe, чтобы вернуть обещание. Уменьшенный код с проблемой является:Получить onload событие angular.element iframe

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' 

Я также попытался выбрать Iframe с помощью его идентификатора и связать событие нагрузки на том. Но и не работает. Любые идеи или предложения?

наилучшими пожеланиями

ответ

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

+0

ооо, хорошо получается, если вы загружаете файл через URL событие OnLoad не называется. https://plnkr.co/edit/ARwfzRtVc2veUzzxITsV?p=preview –

+0

Также можно найти определенный ответ на этот http://stackoverflow.com/a/20624274/1202324 –

 Смежные вопросы

  • Нет связанных вопросов^_^