想使用iframe下载多个文件,但是ftp的链接却无法执行,请问是否有解决办法?

想使用iframe下载多个文件,但是ftp的链接却无法执行(谷歌浏览器)。但在ie上则可正常执行。
使用window.open可以实现,但是会出现新增窗口,体验不好?
求解。
代码如下:

 downloads("ftp://172.16.3.222/test.php?s=download&filename=test.txt");
 
  function downloads(url) {
  const iframe = document.createElement('iframe');
  iframe.style.display = 'none';
  function iframeLoad() {
    console.log('iframe onload');
    const win = iframe.contentWindow;
    const doc = win.document;
    if (win.location.href === url) {
      if (doc.body.childNodes.length > 0) {
        // response is error
      }
      iframe.parentNode.removeChild(iframe);
    }
  }
  if ('onload' in iframe) {
    iframe.onload = iframeLoad;
  } else if (iframe.attachEvent) {
    iframe.attachEvent('onload', iframeLoad);
  } else {
    iframe.onreadystatechange = function onreadystatechange() {
      if (iframe.readyState === 'complete') {
        iframeLoad;
      }
    };
  }
  iframe.src = '';
  document.body.appendChild(iframe);

  setTimeout(function loadUrl() {
    iframe.contentWindow.location.href = url;
  }, 50);
}
待解决 悬赏分:30 - 离问题结束还有 347天35分27秒
反对 0举报 0 收藏 0

我来回答

回答1