web

浏览器一次性弹出多个下载窗口

2018-12-21  本文已影响1人  lvyweb

标签(空格分隔): js


准备工作

  1. 点击下载按钮,获取后台返回的下载链接,一般是"ftp://开头的
  2. 下载单个文件用window.open(下载地址)是可以实现的,但是多个的时候无法直接打开多个浏览器,应该是浏览器保护策略引起

下载一个视频的函数

/**
   * 
   * @param {*} url 下载链接
   * @param {*} triggerDelay 延迟时间
   * @param {*} removeDelay  清除iframe的时间
   */
  function dnLoadOneVideo(url, triggerDelay, removeDelay) {
      //动态添加iframe,设置src,然后删除
      setTimeout(function () {
          var frame = $('<iframe style="display: none;" class="multi-download"></iframe>');
          frame.attr('src', url);
          $(document.body).after(frame);
          setTimeout(function () {
              frame.remove();
          }, removeDelay);
      }, triggerDelay);
  }

调用eg:dnLoadOneVideo(videoPath, index * 100, 1000)

如果是多个下载文件,遍历出来下载链接,然后调用dnLoadOneVideo这个方法即可。如果是单个下载文件,直接调用window.open(下载地址)

上一篇下一篇

猜你喜欢

热点阅读