2016-10-26 1 views
0

Ich versuche, ein Onload-Ereignis auf einem hinzugefügten iframe zu erhalten. Dies geschieht innerhalb eines Service-Funktionsaufrufs. Es soll eine Datei herunterladen, was gut funktioniert. Aber ich muss warten, bis der iframe geladen ist, um eine Versprechensauflösung zurückzugeben. Der reduzierte Code mit dem Problem ist:Get onload-Ereignis eines eckigen Elements 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) 

Ich versuchte es mit

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

Auch

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

ich auch versucht, die Iframe über seine ID und binden das Load-Ereignis auszuwählen auf diesem. Funktioniert aber auch nicht. Irgendwelche Ideen oder Vorschläge?

freundlichen Grüßen

Antwort

0

versuchen

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

ohh, gut stellte sich heraus, wenn Sie eine Datei über die URL der onload-Event-Download wird nicht aufgerufen. https://plnkr.co/edit/ARwfzRtVc2veUzzxITsV?p=preview –

+0

Auch könnte eine definitive Antwort zu diesem http://stackoverflow.com/a/20624274/1202324 finden –

Verwandte Themen