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

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);    //结束添加,开始下载
}


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/424.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。