我正在使用AngularJS並在iframe上設置ngSrc,我使用它來下載壓縮存檔以避免無法使用AJAX下載文件。我使用一個指令來檢測iframe加載,我發現here,當你加載一個像「about:blank」這樣的URL時,它工作的很好,但是當我用RESTful調用它下載文件,即使它下載生成的文件。當通過iframe下載文件時檢測iframe加載
// Markup of iframe using ngSrc and custom directive
<iframe ng-src="{{url}}" style="display:none;" iframe-onload="myCallback" />
// Controller setting iFrame, what I'd like to trigger the load
$scope.downloadArchive = function(id) { // no load event? but downloads zip archive
var url = '/data/archive/instance/' + id;
$scope.url = $sce.trustAsResourceUrl(url);
}
// Controller setting iFrame, what does trigger the load
$scope.downloadArchive = function(id) { // load event triggered
$scope.url = $sce.trustAsResourceUrl('about:blank');
}
當通過iframe下載壓縮歸檔文件時,是否可以檢測到事件?
該壓縮文件實際上下載沒有問題,但我沒有辦法檢測是否它的iframe加載事件不會觸發。需要知道它何時下載,因此我可以將iframes url重置爲「about:blank」或其他,否則我無法根據需要下載該文件的第二個副本,需要首先將URL重置爲其他內容。 – mtpultz 2014-11-06 06:30:09