【问题标题】:Download multiple torrents from array of magnet links从磁铁链接阵列下载多个种子
【发布时间】:2015-09-05 14:06:40
【问题描述】:

我正在尝试使用 javascript 来迭代一组“magnet:..”链接并迭代下载它们。

我正在使用 iframe 以这种方式下载链接:

HTML 代码:

<button ng-click="downloadSelected()">Get All Selected</button>
.
.
<iframe id='downloader_iframe'></iframe>

控制器内部:

function downloadSelected(){
    for (var i=0; i<$scope.magnets.length; i++){
        document.getElementById('downloader_iframe').src = $scope.magnets[i];
    }
}

问题是该动作只发生在数组中的第一个链接上,而其余的则完全忽略了。

有什么办法吗?

【问题讨论】:

  • &lt;a&gt; 上使用window.open.click

标签: javascript jquery download


【解决方案1】:

例如在&lt;a&gt; 上使用window.open.click

function downloadSelected() {
    var i;
    for (i = 0; i < $scope.magnets.length; ++i) {
        window.open($scope.magnets[i], '_blank');
    }
}

【讨论】:

  • 它打开与数组大小一样多的选项卡有没有办法只打开一个选项卡甚至不打开?
  • 如果您使用相同的名称而不是_blank,它只会打开一个,但您可能会发现它会跳过一些与&lt;iframe&gt; 相同的链接。我还尝试使用动态&lt;a&gt;Chrome 不会处理点击它:(另一个选择是在点击每个页面之间使用某种延迟并希望延迟比超时更短?
  • 也许有一种方法可以将一组链接发送到 torrent 客户端?还是将所有链接合并为一个?
【解决方案2】:

我来到这里但实际上发现this solution/answer 更有帮助。

创建一个隐藏的 iframe:

<iframe style="display:none" name="magnetframe"></iframe>
window.open(magnet_uri, 'magnetframe')

我不确定这将如何与多个磁力链接一起使用,也许如果您使用多个 iframe? (使用 4 个 iframe 并每帧每 0.5 秒重新加载另一个磁力链接,这样您就可以每秒处理 8 个磁力链接?)

【讨论】:

    【解决方案3】:

    使用 chrome API 的另一种解决方案。

    chrome.tabs.update({url: magnet_uri});

    如果你想在新标签上运行,那么在参数中添加标签 id

    chrome.tabs.create({active: false}, function(tab) { chrome.tabs.update(tab.id, {url: magnet_uri}); });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多