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

批量下载主要参照: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 + '" οnclick="return OnDownloadClick_Simple(this,2,4)" οncοntextmenu="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="下载"οnclick="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 οnclick="batchDownload()">批量下载</button>

4.编写批量下载方法

function batchDownload(){    BatchTasker.BeginBatch(4,pid);    //开始批量添加  BatchTasker.AddTask(ThunderEncode(url1), title1);    //添加下载任务1,标题名称可不传   BatchTasker.AddTask(ThunderEncode(url2), title2);    //添加下载任务2  BatchTasker.EndBatch(pid);    //结束添加,开始下载
}

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

  1. php 离线 gis,在 Web 页面中使用离线地图

    1. 所需工具&插件: 1. MapDownloader (提取码: spx6) 2. 操作: 1. 参考:java离线地图web GIS制作 下载好所需地图瓦片,本文以百度地图/深圳为例 2 ...

  2. html调用腾讯地图定位当前位置,vue web项目中调用腾讯地图API获取当前位置的经纬度...

    vue web项目中调用腾讯地图API获取当前位置的经纬度 vue web项目中调用腾讯地图API获取当前位置的经纬度 在main.js 中添加一下代码 import axios from 'axio ...

  3. 网页中调用matlab,在C#的Web项目中调用Matlab代码的步骤

    在C#的Web项目中调用Matlab代码的方法 为了毕设的图形检索方向的研究,本人需要在信科的师兄师姐们已经完成的C#界面中,调用现在研究的算法的Matlab代码,以便看到实验的效果.前段时间已经拖延 ...

  4. 轻松实现在web页面中直接播放rtsp视频流

    轻松实现在web页面中直接播放rtsp视频流 写在前面 实现 介绍 如何使用 准备ffmpeg 运行rtsp2web 参数说明(在 `new RTSP2web` 时,可配置的参数如下): 前端代码 参 ...

  5. 从此不再为Web页面中的Tooltip烦恼

    让Web页面中,不能折行或不希望被折行的文字始终显示在一行,是一种严格的UI风格,毕竟自由的折行会使得表格和整体界面变得很难把握.当然在一行显示不完全时配以省略号在结尾,能很好的提示用户表示语句未结束 ...

  6. JSP页面中调用Spring Bean

    前言 spring boot 2.0.3.RELEASE spring mvc view : jsp JSP页面中调用Spring Bean 在 JSP 页面获得 WebApplicationCont ...

  7. html语言 怎么清除用户名 name= password=,在html页面中填写注册表单后,它会给出这个错误,并使用用户名和密码并将值存储在登录表单中...

    在html页面中填写注册表单后,它会给出此错误,并使用用户名和密码并将值存储在登录表单中:TypeError at /login/ argument of type 'NoneType' is not ...

  8. [置顶] 读取pdf并且在web页面中显示

    读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType = "applicationpdf"; ...

  9. Vue | 实现页面跳转刷新,在Vue页面中调用其他页面的方法

    最近有一个登录界面的需求,感觉很简单,尝试各种方法每次都感觉快要成功了,但还是没能解决问题,果然没有系统学习就是很难立刻找到突破点,难以一语中的,好在历经千帆,在页面调用中就解决了这个问题. 需求描述 ...

最新文章

  1. J2EE Java泛型的好处
  2. HDU - 6071 Lazy Running 同余最短路 + 分层
  3. 线程并发库和线程池的作用_并发–顺序线程和原始线程
  4. 前端学习(2963):跨域问题
  5. NS2中数据包Packet的分析 (转帖)
  6. react-native 项目实战 -- 新闻客户端(6) -- 完善ListView头部视图
  7. CocoaPods 2017最新、最快安装和使用说明
  8. c语言实现字符串转16进制,C语言实现字符串中(10进制和16进制)转成十进制数(示例代码)...
  9. 有道词典的本地/扩展/离线词库
  10. java文件上传判重姿势浅谈
  11. 2022 DSCTF首届数字空间安全攻防大赛
  12. CSS FlexBox布局全面详解
  13. 2020年Android GMS 认证 boot logo 最新要求
  14. 视频压缩编码参考软件代码入门
  15. 再贴一个Fleaphp相关的
  16. AUC的置信区间和两个AUC的差异性比较
  17. Matlab建模---数据拟合
  18. python多线程批量过滤文件关键字
  19. 北京朝阳一互联网公司被端,警方上门,23人被带走…这种开发千万别干
  20. ECCV2020 | SNE-RoadSeg:一种基于表面法向量提取的道路可行驶区域分割方法

热门文章

  1. 入职微软一个月感悟:微软其实并没有想象的那么轻松
  2. bundletool工具使用(Android aab包安装)-Google play上架
  3. 使用Java获取操作系统和硬件信息
  4. mv的-f,-i,-n
  5. vs2015+TortoiseSVN安装教程
  6. 深度学习可解释性-可视化技术
  7. 原来,这才是项目管理的真相
  8. 【Python字典】
  9. tcp和icmp测速哪个好_什么是TCP和ICMP?
  10. 基于STM32C8T6、ESP8266-01S、JavaWeb、JSP、Html、JavaScript、Android、服务器和客户端设计、上位机和下位机设计等技术融合的物联网智能监控系统设计与实现