我试图使用javascript迭代一组"磁铁:.."链接并迭代下载。
我正在使用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];
}
}
问题是该操作仅发生在数组中的第一个链接,而其余部分完全被忽略。
有什么办法吗?
答案 0 :(得分:2)
在.click
上使用window.open
或<a>
,例如
function downloadSelected() {
var i;
for (i = 0; i < $scope.magnets.length; ++i) {
window.open($scope.magnets[i], '_blank');
}
}
答案 1 :(得分:1)
我来到这里但实际上发现this solution/answer更有帮助。
创建隐藏的iframe:
<iframe style="display:none" name="magnetframe"></iframe>
window.open(magnet_uri, 'magnetframe')
我不知道这对多个磁铁链接有什么用处,也许你使用多个iframe? (每帧每隔0.5秒使用4个iframe并重新加载另一个磁链,这样你每秒可以处理8个磁链?)
答案 2 :(得分:0)
使用Chrome API的另一种解决方案。
chrome.tabs.update({url: magnet_uri});
如果要在新标签页上运行,请在参数中添加标签页ID
chrome.tabs.create({active: false}, function(tab) {
chrome.tabs.update(tab.id, {url: magnet_uri});
});