公司新建一网站,用的是商派的易开店系统。设计方案中有一个是下载文件的功能,但易开店不支持上传资源,所以无法下载本站资源。
于是想到了网盘资源下载,有些网站是把页面链接到网盘资源文件下载页面,进行二次跳转下载。但是这种效果客户体验不佳,没用过网盘的客户下载起来就会变的有点麻烦。如果能提取出网盘资源文件的下载网址,直接在下载页面进行操作就好了,效果跟本站下载一样!
一.下载本地资源的方法:
<a href="/src/download.rar">下载文件</a>
二.下载其他网站资源的方法:
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 4 <title>javascript实现html页面直接下载网盘文件</title> 5 </head> 6 <body> 7 <iframe src="" style="display:none;"></iframe> 8 <script type="text/javascript"> 9 function download() { 10 window.frames[0].location.href = ‘http://183.57.152.11/wsdl1.yunpan.cn/share.php?method=Share.download&fhash=3f33cc121ee1131da08147498c9fc3480b82d3ba&xqid=73979778&fname=Adobe+Dreamweaver+CS4+v10.0%E5%AE%98%E6%96%B9%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E7%BB%BF%E8%89%B2%E7%89%88%28AdobeDreamweaverCS4_cn%29.EXE&fsize=80291051&nid=13756769312531776&cqid=c3ec7aec4514780be6a6b2a494a5c9e0&st=a7eb74a09e148290594604407ac83463&e=1390557224&dt=1.79b35763204d15e53131b6747933da38‘; 11 } 12 </script> 13 <input type="button" onclick="download()" value="下载文件"/> 14 </body> 15 </html>
案例解析:
1.如何提取网络文件的下载网址:
以使用谷歌浏览器下载360网盘资源为例:
》下载文件
》在浏览器的下载页面或窗口中,找到当前下载的文件,如图,在连接地址处单击右键,单击"复制链接地址",就获取到了该文件的下载网址了。
2. 实现当前页面下载网盘资源的功能:
》添加<iframe src="" style="display:none;"></iframe>;
》添加按钮标签,并给其添加单击事件downLoad();
》编写单击事件,使用 window.frames[0].location.href ="下载网址"
说明:不添加<iframe>标签,大部分浏览器也可以实现页面无跳转下载,唯有360浏览器中点击下载文件后,页面跳转。
鉴于此,添加iframe框架,点击按钮的时候,修改iframe框架的src属性,即使页面会发生跳转,也是在iframe框架内。
给iframe天剑diaplay:none,隐藏掉,这样就能完美的实现一键下载站外资源了。
后记:此方法仅适用于实现一键下载站外资源,目前谷歌、IE、火狐、360浏览器,猎豹浏览器等均可以完美下载。