通过隐藏的iframe下载文件 - 如何判断下载是否完成/失败/是否中止?
问题描述:
当用户点击我的下载链接时,点击和下载对话框在用户浏览器中弹出时会稍微暂停,这是因为我的服务器正在创建一堆文件的zip文件,并且可能需要一段时间。通过隐藏的iframe下载文件 - 如何判断下载是否完成/失败/是否中止?
因此,我想在此期间放置加载微调器并禁用链接,以防止用户再次敲击下载链接。唯一的问题是我需要重新启用链接并隐藏微调器,但我不知道如何知道下载弹出窗口的时间。
im使用隐藏的iframe触发下载和在onload /的onsubmit事件似乎火显示的弹出窗口之前,即当不同iframe src属性被设置时或者当不同iframe被添加到DOM。
任何想法如何去做到这一点?
答
根据“ok”或“error”字符串的iframed页面的服务器端返回一个字符串。
检查的iFrame更改:
$("iframe#uploadProcessor").load(function(){
if($(this).text().indexOf("Error") > -1){
console.log($(this).html());
}else{
var wrapper = $("div#main div#closets.tabContent div#UploadFormWrapper");
if(wrapper.hasClass('Active')){
wrapper.animate({"height":"0px"}, {"queue": false, "duration": 400}).fadeOut(375, function(){
wrapper.removeClass('Active');
});
}
require(["AJAX"], function(AJAX){
AJAX.ajaxUpdateCloset($("form#UploadForm select#OutfitCloset")[0].value);
});
}
$("div#main div#closets.tabContent form#UploadForm")[0].reset();
});