我正在使用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