下载文件并下载文件后重新加载页面

时间:2019-04-05 05:28:52

标签: javascript jquery

我正在尝试下载文件,然后重新加载页面。

问题在于,此代码仅在文件下载在一秒钟内完成时有效。
如果文件更大,则第二个请求似乎阻止了第一个下载文件的请求。

javascript:

//downloads the file
function updateAndDownload() {

  var link = document.createElement('a');
  link.href = "updateAndDownloadFile.rails?id=$ID";
  document.body.appendChild(link);
  link.click();
  PageReload();
}
//wait for a second and refresh the page
function PageReload() {
  setTimeout(function() {
    refreshPage();
  }, 1000);
}

function refreshPage() {
  // Close dialog.
  Control.Modal.close();

  // Reload.
  window.location.href = "index.rails?id=" + ID
}

我希望文件可以下载并且页面刷新可以同时或同时

2 个答案:

答案 0 :(得分:0)

您可以尝试添加target属性来链接吗?

function updateAndDownload() {

  var link = document.createElement('a');
  link.href = "updateAndDownloadFile.rails?id=$ID";
  
  /** Add this line **//
  link.target = '_blank';
  
  document.body.appendChild(link);
  link.click();
  PageReload();
}
//wait for a second and refresh the page
function PageReload() {
  setTimeout(function() {
    refreshPage();
  }, 1000);
}

function refreshPage() {
  // Close dialog.
  Control.Modal.close();

  // Reload.
  window.location.href = "index.rails?id=" + ID
}

答案 1 :(得分:-1)

代替这个。

//重新加载。 “ window.location.href =” index.rails?id =“ + ID”

使用此...对我的程序有效 //重新加载 “ window.location.reload(true);”