通过隐藏的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(); 
        });