分享好友
编程语言首页
频道列表
MyHTMLPlayerreleasev1.1
hta
2015-07-02 10:40
0
把下面的代码copy到本地,另存为hta文件使用
特点:自动获取baidu歌曲top500并
link
使用ajax技术,自动分页
注意:代码中使用了ADODB.Stream对象,可能被杀毒软件判断为恶意。
My HTML Player - By Hutia
<
meta
http-equiv="content-type" content="text/html; charset="gb2312"> <
script
> //****全局变量定义区************ taskState="loadList"; url="http://list.mp3.baidu.com/topso/mp3topsong.html"; taskURLs=new Array(); taskNames=new Array(); pageSize=10; pageNo=0; currentTask=pageNo*pageSize; maxTask=currentTask+pageSize; windowWidth=740; windowHeight=400; //****初始化组件*************** try{ var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ document.write("
加载失败,组件被禁止
"); } try{ top.moveTo((screen.availWidth-windowWidth)/2,(screen.availHeight-windowHeight)/2); top.resizeTo(windowWidth,windowHeight); }catch(e){} //****过程函数区*************** //---初始化------- function init(){ MediaPlayer1.AutoRewind=false; MediaPlayer1.AutoStart=true; MediaPlayer1.SendPlayStateChangeEvents=true; MediaPlayer1.attachEvent("PlayStateChange",checkPlayStatus); initLoadMusic(); } //####关于baidu音乐获取的代码###### //---初始化下载----- function initLoadMusic(){ currentTask=pageNo*pageSize-1; maxTask=currentTask+pageSize; musicListContent.innerHTML=""; processBar.style.display=""; loadBaiduMusic(); } //---开始从baidu下载音乐----- function loadBaiduMusic(){ //如果状态是loadMusic那么从url列表取下载地址 if(taskState=="loadMusic"){ currentTask++; if(currentTask>maxTask||currentTask>taskURLs.length-1){ //下载完成 try{clearTimeout(vbTimer);}catch(e){} processBar.style.display="none"; createNavigate(); return(false); } if(currentTask>taskURLs.length-1){ currentTask--; setTimeout(loadBaiduMusic,1000); return(false); } url=taskURLs[currentTask]; } xmlHttp.open("GET",url,true); xmlHttp.send(); xmlHttp.onreadystatechange=checkXMLHttpState; checkXMLHttpState(); } //----处理下载----- function checkXMLHttpState(){ if (xmlHttp.readyState==4){ if (xmlHttp.status==200){ if(taskState=="loadList"){ taskState="loadMusic"; //分析下载内容生成歌曲地址列表 analyBaiduList(); currentTask=-1; }else{ //获得mp3的真实地址 analyBaiduMusic(); } } loadBaiduMusic(); } } //----分析下载内容生成歌曲地址列表---- function analyBaiduList(){ var strHTML=b2s(xmlHttp.responseBody); var iStart=strHTML.search(/script",iStart+5); strHTML=strHTML.substring(iStart,iEnd); var fff=document.createElement("I
frame
"); fff.id="temp
Frame
"; fff.style.display="none"; document.body.insertBefore(fff); theWin=eval("temp
Frame
"); theWin.document.open(); theWin.document.clear(); theWin.document.write(strHTML); theWin.document.close(); for(var i=0;i
links.length;i++){ if(theWin.document.
link
s[i].href.match(/mp3.baidu.com\/m\?tn=baidump3\&ct=/i)&&theWin.document.
link
s[i].parentNode.firstChild==theWin.document.
link
s[i]){ //将url存入taskURLs,歌曲名称存入taskNames taskURLs[taskURLs.length]=theWin.document.
link
s[i].href.replace(/lm=-1/,"lm=0"); taskNames[taskNames.length]=theWin.document.
link
s[i].innerText; } } fff.outerHTML=""; } //----获得mp3的真实地址,添加到music list----- function analyBaiduMusic(){ var strHTML=b2s(xmlHttp.responseBody); var strTxt=taskNames[currentTask]; //匹配URL的正则 var aryURL=strHTML.match(/ http:\/\/[^ ]+ /gi); if(!aryURL){return(false);} var theC=document.createElement("DIV"); theC.className="item"; musicListContent.insertBefore(theC); //获取10个地址以免链接失效 for(var i=0;i<10&&i
link元素 var the
Link
=document.createElement("A"); var strURL=aryURL[i].substring(2,aryURL[i].length-2); the
Link
.href=http://www.lexue001.com/article/strURL; the
Link
.title=strURL; the
Link
.innerText=(currentTask+1)+"."+strTxt; if(i>0){the
Link
.innerText+="."+(i+1);} the
Link
.onclick=musicList_item_click; theD.insertBefore(the
Link
); //添加到列表按钮 theButton=document.createElement("Span"); theButton.className="add2ListBtn"; theButton.innerText="1"; theButton.title="添加到列表"; theButton.onclick=musicList_add2ListBtn_click; theButton.on mouseover=musicList_item_mouseover; theButton.on mouseout=musicList_item_mouseout; theD.insertBefore(theButton); //上卷按钮 theButton=document.createElement("Span"); theButton.className="add2ListBtn"; theButton.innerText="3"; theButton.title="上卷"; theButton.onclick=musicList_scrollUpBtn_click; theButton.on mouseover=musicList_item_mouseover; theButton.on mouseout=musicList_item_mouseout; theD.insertBefore(theButton); //下卷按钮 theButton=document.createElement("Span"); theButton.className="add2ListBtn"; theButton.innerText="4"; theButton.title="下卷"; theButton.onclick=musicList_scrollDownBtn_click; theButton.on mouseover=musicList_item_mouseover; theButton.on mouseout=musicList_item_mouseout; theD.insertBefore(theButton); //打开新窗口按钮 theButton=document.createElement("Span"); theButton.className="add2ListBtn"; theButton.innerText="2"; theButton.title="打开新窗口"; theButton.onclick=musicList_newWinBtn_click; theButton.on mouseover=musicList_item_mouseover; theButton.on mouseout=musicList_item_mouseout; theD.insertBefore(theButton); theC.insertBefore(theD); } } //####关于播放器播放音乐的代码###### //----检查播放器状态------- function checkPlayStatus(oldState,newState){ try{ if(MediaPlayer1.PlayState==0){ MediaPlayer1.detachEvent("PlayStateChange",checkPlayStatus); MediaPlayer1.stop(); if(playList.options.selectedIndex
0?pageNo-4:0; thePageCount=parseInt(theMax/pageSize)+(theMax%pageSize==0?0:1); theMax=pageNo+5
script>
All Music
分页:
Tips: 把歌曲拖入播放列表 Tips: 无法播放时点击左右箭头更换音乐地址
Processing...
Play List:
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行
]
查看更多关于【
hta
】的文章
展开全文
相关推荐
·
淘宝MyHTML好物
·
淘宝Player好物
·
淘宝release好物
·
淘宝v1.1好物
·
京东MyHTML优选
·
京东Player优选
·
京东release优选
·
京东v1.1优选
·
拼多多MyHTML好价
·
拼多多Player好价
·
拼多多release好价
·
拼多多v1.1好价
点赞
0
反对
0
举报 0
评论
0
分享
0
图文资讯
热门推荐
优选好物
更多
热点专题
小程序文
rust文章
其他教程
DOS/BAT
其它
htc
VC/MFC
Golang
shell
seraphzo
perl
asp
更多
推荐文章
更多推荐