Web页面中调用迅雷进行单文件和批量下载

来源:互联网 发布:剑网三明教脸型数据 编辑:程序博客网 时间:2024/05/21 18:36

费了老大的劲才将页面调用迅雷客户端批量下载搞定,在此将页面调用迅雷进行单文件下载和批量下载进行一个总结。

批量下载主要参照:http://www.jackyrao.com/archives/425 | Jacky的博客

一、单文件下载

单文件下载已经很容易找到方法,没什么技术含量。

方法一

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";   //下载文件1var title1 = "迅雷7";    //文件1标题var url2 = "http:\/\/down.sandai.net/thundervip/ThunderVIP_Setup.exe";   //下载文件2var 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);    //结束添加,开始下载}
原创粉丝点击