Baidu Musicbox 用到的ajax代码
                        
                            时间:2021-07-01 10:21:17
                            帮助过:44人阅读
							                        
                     
                    
                    
            var names; 
var Cs, St; 
var rorw=""; 
var lrcT; 
function getname(songname){ 
    if(songname==""){ 
        names=$("name").value; 
    }else{ 
        names=songname; 
    } 
    geturl(); 
} 
function geturl(){ 
    AJAXCALL("inc/songurl.asp?type=url1&keyword="+names,"musiclist","isXML=true"); 
    addbox(names); 
} 
function top(){ 
    AJAXCALL("inc/songlist.asp?ac=new","toplist","isXML=true"); 
} 
function toplist(doc){ 
    var items=getElementsByClass(doc,"item"); 
        var linker=new Array(); 
        var linkers=new Array(); 
    var tmp="<ul>"; 
    for(var i=0;i<items.length;i++){ 
                if(getTagValue(items[i], "singer")=="") 
                { 
                  linker[i]=""; 
                  linkers[i]="";    
                } 
                else 
                { 
                  linker[i]="("+getTagValue(items[i], 'singer').replace(/ /g," ")+")"; 
                  linkers[i]=" "+getTagValue(items[i], 'singer').replace(/ /g," "); 
                } 
        var d=i+1; 
        tmp+='<li>'+d+'. <a href=javascript:getname("'+getTagValue(items[i], 'songname').replace(/ /g," ")+linkers[i]+'") title="'+getTagValue(items[i], 'songname').replace(/ /g," ")+linker[i]+'">'+getTagValue(items[i], 'songname').replace(/ /g," ")+linker[i]+'</a></li>'; 
    } 
    tmp+="</ul>"; 
    $("toplist").innerHTML=tmp; 
} 
function s2(){ 
    AJAXCALL("inc/songlist.asp?ac=all","s3","isXML=true"); 
} 
function s3(doc){ 
    var items=getElementsByClass(doc,"item"); 
        var linker=new Array(); 
        var linkers=new Array(); 
    var tmp="<ul>"; 
    for(var i=0;i<items.length;i++){ 
                if(getTagValue(items[i], "singer")=="") 
                { 
                  linker[i]=""; 
                  linkers[i]=""; 
                } 
                else 
                { 
                  linker[i]="("+getTagValue(items[i], 'singer').replace(/ /g," ")+")"; 
                  linkers[i]=" "+getTagValue(items[i], 'singer').replace(/ /g," "); 
                } 
        var d=i+1; 
        tmp+='<li>'+d+'. <a href=javascript:getname("'+getTagValue(items[i], 'songname').replace(/ /g," ")+linkers[i]+'") title="'+getTagValue(items[i], 'songname').replace(/ /g," ")+linker[i]+'">'+getTagValue(items[i], 'songname').replace(/ /g," ")+linker[i]+'</a></li>'; 
    } 
    tmp+="</ul>"; 
    $("topalllist").innerHTML=tmp; 
} 
function musiclist(doc){ 
    var items=getElementsByClass(doc,"item"); 
    var tmp="<ul>"; 
    for(var i=0;i<22 && i<items.length;i++){ 
        var d=i+1; 
        type=getTagValue(items[i], 'type'); 
        tmp+='<li> <img src="img/list.gif" /> <a title="试听点 '+d+' ('+type+')" href=javascript:play("'+getTagValue(items[i], 'type')+'","'+getTagValue(items[i], 'link').replace(/ /g,' ')+'")>'+names.replace(/ /g,' ')+' ('+type+')</a></li>'; 
    } 
    tmp+="</ul>"; 
    $("list").innerHTML=tmp; 
    $("msg").style.display="none"; 
    play(getTagValue(items[0], "type"),getTagValue(items[0], "link")); 
} 
function play(obj,url){ 
        initLrc(); 
    $("guanxin").style.display="none"; 
    $("msg").style.display="block"; 
    AJAXCALL("inc/songurl.asp?type=url2&keyword="+url+"&attach="+obj,"gotoplay","isXML=true"); 
    AJAXCALL("inc/lyrics.asp?song="+names,"getlrc","isXML=true"); 
} 
var tl; 
function getlrc(doc){ 
    tl=""; 
    var items=getElementsByClass(doc,"item"); 
    var tmp="<div id=LrcDiv class=LrcDiv>"; 
    for(var i=0;i<items.length;i++){ 
        tmp+='<div class=div id=T_'+getTagValue(items[i], 'time')+' onclick=To(\''+getTagValue(items[i], 'time')+'\')>'+getTagValue(items[i], 'lrc')+'</div>'; 
        tl+=getTagValue(items[i], 'time')+"|"; 
    } 
    tmp+="</div>"; 
    $("lrc").innerHTML=tmp; 
} 
function gotoplay(docs){ 
    var type=getTagValue(docs, "type"); 
    var link=getTagValue(docs, "link"); 
    if(type=="rm" || type=="ra" || type=="ram" || type=="rmvb" || type=="mpga" || type=="mp4" || type=="3gp") 
      $("players").innerHTML=realplayer(link); 
    else 
      $("players").innerHTML=mdplayer(link); 
    var link3=cuturl(link); 
    $("msg").style.display="none"; 
    $("wmaurl").innerHTML="歌曲出处: <a href="+link.replace(/ /g," ")+" target='_blank' title='点右键另存:"+names.replace(/ /g," ")+"'>"+link3.replace(/ /g," ")+"</a>"; 
    setTimeout(guanxin,1000); 
    playobj(); 
} 
function initLrc(){ 
        clearTimeout(lrcT); 
        rorw=""; 
        $("players").innerHTML=""; 
        $("lrc").innerHTML=""; 
    St=0; 
        Cs=0; 
} 
function playobj(){ 
        if($("MPlayer")) 
        { 
          rorw="wmp"; 
          ldL(); 
        } 
        else if($("RPlayer")) 
        { 
          rorw="rmp"; 
          try { RPlayer.SetWantErrors(true); } catch(hh){} 
          ldL(); 
        } 
        else 
          playobj(); 
} 
function guanxin(){ 
    $("guanxin").style.display="block"; 
    setTimeout(guanxin2,10000); 
} 
function guanxin2(){ 
    $("guanxin").style.display="none"; 
} 
var player; 
function mdplayer(str){ 
player='<object classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" id="MPlayer" width="100%" height="64"><param name="url" value="'+str+'"><param name="enablecontextmenu" value="0"><param name="enableerrordialogs" value="0"></object>'; 
return player; 
} 
function realplayer(str){ 
player='<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" id="RPlayer" width="100%" height="60"><param name="src" value="'+str+'"><param name="controls" value="controlpanel,statusbar"><param name="autostart" value="true"></object>'; 
return player; 
} 
function cuturl(song_url){ 
    var len=getStrActualLen(song_url); 
    var MAX_DISP_LEN=40; 
    if(len<=MAX_DISP_LEN) return song_url; 
    var disp_song_url=song_url; 
    var pos1=song_url.indexOf("://"); 
    if(pos1>0){ 
        disp_song_url=song_url.substring(pos1+3,len); 
        var pos2=disp_song_url.indexOf("/"); 
        if(pos2>0) disp_song_url=song_url.substring(0,pos1+pos2+4); 
        var len2=MAX_DISP_LEN-3-getStrActualLen(disp_song_url); 
        if(len2>0) disp_song_url=disp_song_url+'...'+song_url.substring(len-len2,len); 
        return disp_song_url; 
    } 
} 
function getStrActualLen(sChars){ 
    return sChars.replace(/[^\x00-\xff]/g,"xx").length; 
} 
function AJAXCALL(url,handleResponse,param){ 
    var isXML=false;//false:html or true:xml 
    var isCache=false;//false:no-cache or true:cache 
    var method="GET";//GET or POST 
    var attach=""; 
    if(param){ 
        re = / /g;  
        param=param.replace(re, ""); 
        var tmp=param.split(","); 
        for(var i=0;i<tmp.length;i++){ 
            var pa=tmp[i].substr(0,3); 
            var ct=tmp[i].split("=")[1]; 
            switch (pa){ 
                case "isX": 
                if(ct=="true"){ 
                    isXML= true;  
                }else{ 
                    isXML= false;  
                } 
                break; 
                case "isC": 
                if(ct=="true"){ 
                    isCache= true;  
                }else{ 
                    isCache= false;  
                } 
                break; 
                case "met": 
                method=ct; 
                break; 
                case "att": 
                attach=ct; 
                break; 
            } 
        } 
    } 
    if(!isCache){ 
        var t=new Date().getTime(); 
        if(url.indexOf("?")>0){ 
        url+="&t="+t; 
        }else{ 
            url+="?t="+t; 
        } 
    }     
    var postdata=null; 
    if(method=="POST"){ 
        purl=url.split("?"); 
        url=purl[0]; 
        postdata=purl[1]; 
    } 
    RequestHTTP(url,handleResponse,method,isXML,postdata,attach); 
} 
function RequestHTTP(burl,rdRandleResponse,bmethod,bXML,Formdata,attach){ 
    var http_request = false; 
    function doHttpRequest(){     
        if (window.XMLHttpRequest){ 
            http_request = new XMLHttpRequest(); 
            if (http_request.overrideMimeType){ 
                http_request.overrideMimeType('text/xml'); 
            } 
        } else if (window.ActiveXObject){ 
            try{ 
                http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
            } catch (e){ 
                try{ 
                    http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
                } catch (e){} 
            } 
        } 
        if (!http_request){ 
            alert('Giving up :( Cannot create an XMLHTTP instance'); 
            return false; 
        } 
        http_request.onreadystatechange=handleStateChange;     
        http_request.open(bmethod,burl,true); 
        if(Formdata){ 
            http_request.setRequestHeader("Content-Length",Formdata.length);    
            http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
            http_request.send(Formdata); 
        }else{ 
            http_request.setRequestHeader("Content-Type","text/html"); 
            http_request.send(null); 
        } 
    } 
    function handleStateChange(){ 
        if(http_request.readyState==4 && http_request.status==200){ 
            var response_content; 
            if(bXML){ 
                response_content=http_request.responseXML; 
            }else{ 
                response_content=http_request.responseText;     
            }         
            if(typeof rdRandleResponse == "function"){ 
                rdRandleResponse(response_content, attach); 
            }else{ 
                eval(rdRandleResponse+"(response_content,attach)"); 
            } 
        } 
    } 
    doHttpRequest(); 
} 
function getTagValue(doc, tag){ 
     var elems = doc.getElementsByTagName(tag)[0].firstChild.nodeValue; 
     return elems;  
} 
function $(obj){ 
  return document.getElementById(obj);     
} 
function getElementsByClass(node,tag){ 
    var els = node.getElementsByTagName(tag); 
    return els; 
}
歌词函数:
 代码如下:
function setcookie(name,value){ 
    var Days = 30; 
    var exp = new Date(); 
    exp.setTime(exp.getTime() + Days*24*60*60*1000); 
    document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString(); 
} 
function getcookie(name){ 
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
    if(arr != null) return unescape(arr[2]); return null; 
} 
setcookie("box",getcookie("box")); 
function addbox(name){ 
    var a1=name+"|*|"; 
    var box=getcookie("box"); 
    box=box.replace(a1,""); 
    var value=a1+box; 
    setcookie("box",value); 
    listbox(); 
} 
function delbox(name){ 
    var del=name+"|*|"; 
    var s=getcookie("box"); 
    s = s.replace(del, ""); 
    setcookie("box",s); 
    listbox(); 
} 
function listbox(){ 
    var tmp=""; 
    var s2=getcookie("box"); 
    var s3=s2.split("|*|"); 
    var s4=s3.length-1; 
        if(s4>8) $("boxlist").style.height="139px"; 
    for(var i=0;i<s4;i++){ 
        tmp+="<div id=\"box\"><div id=\"del\" style=\"float: right;\"><span onclick=javascript:delbox('"+s3[i]+"')>删除</span></div><div id=\"boxtitle\"><a href=javascript:getname('"+s3[i]+"')>"+s3[i]+"</a></div></div>"; 
    } 
    $("boxlist").innerHTML=tmp; 
} 
function GetEBID(id){return document.getElementById(id);} 
function To(t){ 
        if(rorw=="") return; 
    if(rorw=="rmp" && RPlayer.GetPlayState()==3) RPlayer.SetPosition(t*1000); 
    if(rorw=="wmp" && MPlayer.playState==3) MPlayer.controls.CurrentPosition=t; 
} 
function lrcrun(){ 
        var rtl="|"+tl; 
        if((rtl.indexOf("|"+Cs+"|")) != -1){ 
            GetEBID("LrcDiv").scrollTop=GetEBID("LrcDiv").offsetTop-parseInt(GetEBID("LrcDiv").offsetHeight/2)+GetEBID("T_"+Cs).offsetTop+10; 
            GetEBID("T_"+St).className=""; 
            GetEBID("T_"+Cs).className="b"; 
            St=Cs; 
        } 
} 
function ldL(){ 
    if(rorw=="rmp" && RPlayer.GetPlayState()==3) {Cs=Math.floor(RPlayer.GetPosition()/1000); lrcrun();} 
    if(rorw=="wmp" && MPlayer.playState==3)    {Cs=Math.floor(MPlayer.controls.CurrentPosition); lrcrun();} 
    lrcT=setTimeout("ldL()", 10); 
}