Javascript 如何知道文件下载的进度

Javascript 如何知道文件下载的进度,javascript,iframe,Javascript,Iframe,我想使用表单&iframe下载excel。Excel已成功下载。唯一的问题是我无法获得下载的进度。我尝试了iframe的onload事件,但是当下载成功时,onload事件不会触发。那么我如何知道进度,或者如何触发onload事件呢 <span @click="onDownload">download</span> <iframe id="id_iframe" name="nm_iframe" style=

我想使用表单&iframe下载excel。Excel已成功下载。唯一的问题是我无法获得下载的进度。我尝试了iframe的onload事件,但是当下载成功时,onload事件不会触发。那么我如何知道进度,或者如何触发onload事件呢

<span @click="onDownload">download</span>
<iframe id="id_iframe" name="nm_iframe" style="display:none;" @load="onLoad_iframe"></iframe>
<script>
onLoadframe(){
  let iframe_obj = document.getElementById("id_iframe");
  let pre = iframe_obj.contentWindow.document.getElementsByTagName("pre");
  let res = {};
  
  if(pre.length>0){
    res = JSON.parse(pre[0].innerText);
    if(res.code!='0'){
      utils.msg.error(res.message)
    }
  }
},
onDownload(){
  var form = document.createElement('form');
  form.setAttribute('target', 'nm_iframe');
  form.setAttribute('method', 'get');
  form.setAttribute('action', url);
  document.body.appendChild(form);

  for (var obj in params) {
    if (params.hasOwnProperty(obj)) {
      var input = document.createElement('input');
      input.tpye = 'hidden';
      input.name = obj;
      input.value = params[obj];
      form.appendChild(input);
    }
  }
  
  form.submit();
  document.body.removeChild(form);       
},
</script>
下载
onLoadframe(){
让iframe_obj=document.getElementById(“id_iframe”);
let pre=iframe_obj.contentWindow.document.getElementsByTagName(“pre”);
设res={};
如果(前长度>0){
res=JSON.parse(pre[0].innerText);
如果(res.code!=“0”){
utils.msg.error(res.message)
}
}
},
onDownload(){
var form=document.createElement('form');
form.setAttribute('target','nm_iframe');
form.setAttribute('method','get');
form.setAttribute('action',url);
文件.正文.附件(表格);
for(参数中的var obj){
if(参数hasOwnProperty(obj)){
var input=document.createElement('input');
input.tpye='hidden';
input.name=obj;
input.value=参数[obj];
表单。追加子项(输入);
}
}
表单提交();
文件.body.removeChild(表格);
},