如何使用 window.open() 下载文件

如何使用 window.open() 下载文件?使用window.open()方法下载文件的步骤如下:

1.创建一个隐藏的iframe元素

const iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);

2.将iframe的src属性设置为文件的URL地址,并指定'_blank'参数以在新窗口中打开链接:

iframe.src = 'your_file_url';

3.等待一段时间,使浏览器能够开始下载文件。您可以使用setTimeout函数来延迟执行下一步操作:

setTimeout(() => {
  // 在这里执行你的逻辑代码
}, 5000); // 等待5秒钟

4.从iframe元素中删除文件链接,并将iframe元素从文档中移除,以便在下载完成后释放内存:

iframe.contentWindow.document.write('');
iframe.contentWindow.close();
document.body.removeChild(iframe);

完整代码示例:

function downloadFile(url) {
  const iframe = document.createElement('iframe');
  iframe.style.display = 'none';
  document.body.appendChild(iframe);
  
  iframe.src = url;

  setTimeout(() => {
    iframe.contentWindow.document.write('');
    iframe.contentWindow.close();
    document.body.removeChild(iframe);
    
    // 在这里执行你的逻辑代码
  }, 5000);
}

downloadFile('your_file_url');

请注意,由于浏览器的安全限制,您只能使用window.open()方法下载与当前网站同源的文件,或者是服务器返回正确的CORS头信息的文件。否则,浏览器会阻止下载并显示安全提示。

未经允许不得转载:国外服务器评测 » 如何使用 window.open() 下载文件