Web页面中调用迅雷进行单文件和批量下载
费了老大的劲才将页面调用迅雷客户端批量下载搞定,在此将页面调用迅雷进行单文件下载和批量下载进行一个总结。
批量下载主要参照: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页面中调用迅雷进行单文件和批量下载相关推荐
- php 离线 gis,在 Web 页面中使用离线地图
1. 所需工具&插件: 1. MapDownloader (提取码: spx6) 2. 操作: 1. 参考:java离线地图web GIS制作 下载好所需地图瓦片,本文以百度地图/深圳为例 2 ...
- html调用腾讯地图定位当前位置,vue web项目中调用腾讯地图API获取当前位置的经纬度...
vue web项目中调用腾讯地图API获取当前位置的经纬度 vue web项目中调用腾讯地图API获取当前位置的经纬度 在main.js 中添加一下代码 import axios from 'axio ...
- 网页中调用matlab,在C#的Web项目中调用Matlab代码的步骤
在C#的Web项目中调用Matlab代码的方法 为了毕设的图形检索方向的研究,本人需要在信科的师兄师姐们已经完成的C#界面中,调用现在研究的算法的Matlab代码,以便看到实验的效果.前段时间已经拖延 ...
- 轻松实现在web页面中直接播放rtsp视频流
轻松实现在web页面中直接播放rtsp视频流 写在前面 实现 介绍 如何使用 准备ffmpeg 运行rtsp2web 参数说明(在 `new RTSP2web` 时,可配置的参数如下): 前端代码 参 ...
- 从此不再为Web页面中的Tooltip烦恼
让Web页面中,不能折行或不希望被折行的文字始终显示在一行,是一种严格的UI风格,毕竟自由的折行会使得表格和整体界面变得很难把握.当然在一行显示不完全时配以省略号在结尾,能很好的提示用户表示语句未结束 ...
- JSP页面中调用Spring Bean
前言 spring boot 2.0.3.RELEASE spring mvc view : jsp JSP页面中调用Spring Bean 在 JSP 页面获得 WebApplicationCont ...
- html语言 怎么清除用户名 name= password=,在html页面中填写注册表单后,它会给出这个错误,并使用用户名和密码并将值存储在登录表单中...
在html页面中填写注册表单后,它会给出此错误,并使用用户名和密码并将值存储在登录表单中:TypeError at /login/ argument of type 'NoneType' is not ...
- [置顶] 读取pdf并且在web页面中显示
读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType = "applicationpdf"; ...
- Vue | 实现页面跳转刷新,在Vue页面中调用其他页面的方法
最近有一个登录界面的需求,感觉很简单,尝试各种方法每次都感觉快要成功了,但还是没能解决问题,果然没有系统学习就是很难立刻找到突破点,难以一语中的,好在历经千帆,在页面调用中就解决了这个问题. 需求描述 ...
最新文章
- J2EE Java泛型的好处
- HDU - 6071 Lazy Running 同余最短路 + 分层
- 线程并发库和线程池的作用_并发–顺序线程和原始线程
- 前端学习(2963):跨域问题
- NS2中数据包Packet的分析 (转帖)
- react-native 项目实战 -- 新闻客户端(6) -- 完善ListView头部视图
- CocoaPods 2017最新、最快安装和使用说明
- c语言实现字符串转16进制,C语言实现字符串中(10进制和16进制)转成十进制数(示例代码)...
- 有道词典的本地/扩展/离线词库
- java文件上传判重姿势浅谈
- 2022 DSCTF首届数字空间安全攻防大赛
- CSS FlexBox布局全面详解
- 2020年Android GMS 认证 boot logo 最新要求
- 视频压缩编码参考软件代码入门
- 再贴一个Fleaphp相关的
- AUC的置信区间和两个AUC的差异性比较
- Matlab建模---数据拟合
- python多线程批量过滤文件关键字
- 北京朝阳一互联网公司被端,警方上门,23人被带走…这种开发千万别干
- ECCV2020 | SNE-RoadSeg:一种基于表面法向量提取的道路可行驶区域分割方法
热门文章
- 入职微软一个月感悟:微软其实并没有想象的那么轻松
- bundletool工具使用(Android aab包安装)-Google play上架
- 使用Java获取操作系统和硬件信息
- mv的-f,-i,-n
- vs2015+TortoiseSVN安装教程
- 深度学习可解释性-可视化技术
- 原来,这才是项目管理的真相
- 【Python字典】
- tcp和icmp测速哪个好_什么是TCP和ICMP?
- 基于STM32C8T6、ESP8266-01S、JavaWeb、JSP、Html、JavaScript、Android、服务器和客户端设计、上位机和下位机设计等技术融合的物联网智能监控系统设计与实现