Web页面中使用迅雷批量下载,这个功能资源站很适用,转载网上,方便自己以后使用
一、单文件下载
单文件下载已经很容易找到方法,没什么技术含量。
方法一
1.引入迅雷检测及调用的js文件
<script src="http://pstatic.xunlei.com/js/webThunderDetect.js"></script>
2.引入迅雷地址转换的js文件
<script src="http://pstatic.xunlei.com/js/base64.js"></script>
3.设置相关参数
var url = "http:\/\/down.sandai.net/thunder7/Thunder_dl_7.9.12.4646.exe"; //下载文件地址。注意不能是thunder://这样的迅雷协议地址,否则在第4步中不要使用ThunderEncode()转换! var pid = "12345"; //迅雷联盟合作号,没有可以随便填 var restitle = ""; //资源标题,现在貌似没什么用了
4.生成链接
document.write('<a href="#" thunderHref="' + ThunderEncode(url) + '" thunderPid="' + pid + '" thunderResTitle="' + restitle + '" onclick="return OnDownloadClick_Simple(this,2,4)" oncontextmenu="ThunderNetwork_SetHref(this)">迅雷下载</a>');
方法二
<html> </head> <script type="text/javascript"> //初始化迅雷插件 function InitialActiveXObject() { var Thunder; try { Thunder = new ActiveXObject("ThunderAgent.Agent") } catch (e) { try { Thunder = new ActiveXObject("ThunderServer.webThunder.1"); } catch (e) { try { Thunder = new ActiveXObject("ThunderAgent.Agent.1"); } catch (e) { Thunder = null; } } } return Thunder; } //开始下载 function Download(url) { var Thunder = InitialActiveXObject(); if (Thunder == null) { DownloadDefault(url); return; } try { Thunder.AddTask(url, "", "", "", "", 1, 1, 10); Thunder.CommitTasks(); } catch (e) { try { Thunder.CallAddTask(url, "", "", 1, "", ""); } catch (e) { DownloadDefault(url); } } } //容错函数,打开默认浏览器下载 function DownloadDefault(url) { //alert('打开浏览器下载.......'); } </script> </head> <body> <input type="button" value="下载" onclick="Download('thunder://QUFodHRwOi8vZnRwY25jLXAyc3AucGNvbmxpbmUuY29tLmNuL3B1Yi9kb3dubG9hZC8yMDEwMTAvOTFhc3Npc3RhbnRfaXBob25lMjYzLmV4ZVpa')" /> </body> </html>
注意:初始化方法中,检测是否安装迅雷的ActiveXObject为IE所特有,其他浏览器(如,谷歌,火狐)不支持。
二、多文件批量下载
1.引入批量下载的js文件
<script src="http://pstatic.xunlei.com/js/thunderBatch.js"></script>
2.设置相关参数
var pid = "12345"; //迅雷联盟合作号,没有可以随便填 var url1 = "http:\/\/down.sandai.net/thunder7/Thunder_dl_7.9.12.4646.exe"; //下载文件1 var title1 = "迅雷7"; //文件1标题 var url2 = "http:\/\/down.sandai.net/thundervip/ThunderVIP_Setup.exe"; //下载文件2 var title2 = "迅雷VIP尊享版"; //文件2标题
3.添加下载按钮
<button onclick="batchDownload()">批量下载</button>
4.编写批量下载方法
function batchDownload(){ BatchTasker.BeginBatch(4,pid); //开始批量添加 BatchTasker.AddTask(ThunderEncode(url1), title1); //添加下载任务1,标题名称可不传 BatchTasker.AddTask(ThunderEncode(url2), title2); //添加下载任务2 BatchTasker.EndBatch(pid); //结束添加,开始下载 }