你把playlist.js下载下来,看看play()函数是不是在这里面定义。
在play()函数中看看,实际下载连接是什么

解决方案 »

  1.   

    我对脚本不熟习,以下是playlist.js的内容,
    function Auth(lmovieid,part) {
    var path = "../dxvod/chkLogin.php";
    var AuthList = QueryData(path, "VodUser", "");
    var AuthId = getText(AuthList, "Value", 0);
    if (AuthId != 2) {
    Relocation(getText(AuthList, "HostName", 0),lmovieid,part);
    }
    else {
    return true;
    }
    }
    document.write("<OBJECT classid=\"CLSID:26792EB0-86EB-497D-9A4D-907F21E4ABE1\" id=\"FnvPlayer\" width=\"0\" height=\"0\"></OBJECT>");function play(lmovieid,part)
    {
    if (!Auth(lmovieid,part)) 
    {
    return "";
    }
    ////
    var XMLStr = "";
    XMLStr += "<?xml version=\"1.0\" encoding=\"gb2312\" ?>";
    XMLStr += "<Data Name=\"Playlist\" version=\"1.0\" Mode=\"IN\">";
    XMLStr += "<MovieId>"+lmovieid+"</MovieId>";
    if (part!=null)
    {
    XMLStr += " <Parts>";
    XMLStr += " <Part>"+part+"</Part>";
    XMLStr += " </Parts>";
    }
    XMLStr += "</Data>";

    var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.load("../dxvod/Playlist.php?Data_IN="+XMLStr);
    var filelist = xmlDoc.xml;
    var ReturnV = getTextArray(xmlDoc, "/Data/Return/Value");
    if (ReturnV[0].substr(0,3)!="[1]")
    {
    alert(ReturnV[0]);
    return;
    }
    //parent.bottom.Play(filelist);
    document.FnvPlayer.SetWindowMode(true);
    document.FnvPlayer.DoMediaUrl(filelist);
    }
    function Relocation(lhost,lmovieid,part) {
    var w = 230;
    var h = 120;
    var LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
    var TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
    if (part)
    window.showModelessDialog('renzheng.htm?lmovieid='+lmovieid+'&part='+part, '登录', 'status:false;dialogWidth:'+(w+97)+'px;dialogHeight:'+(h+116)+'px;center:yes;scroll:no;edge:raised;');
        else
    window.showModelessDialog('renzheng.htm?lmovieid='+lmovieid, '登录', 'status:false;dialogWidth:'+(w+97)+'px;dialogHeight:'+(h+116)+'px;center:yes;scroll:no;edge:raised;');
    }function Play(tvurl)
    {
    document.FnvPlayer.SetWindowMode(true);
    document.FnvPlayer.DoMediaUrl(tvurl);
    }
      

  2.   

    以下是page.js的内容
    function QueryData()
    {
    var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    var a=QueryData.arguments;
    var interface=a[0];
    var Table=a[1];
    var PostData=a[2];
    var PostData="<?xml version=\"1.0\" encoding=\"gb2312\"?>"+PostData;
    xmlDoc.load(interface);
    root = xmlDoc.documentElement;
    nList_ = root.selectNodes("//"+Table);
    return nList_;
    }function getText(b,Name,iI)
    {
    if (iI>=b.length) return "";
    for (iJ = 0; iJ < b[iI].childNodes.length; iJ++) {
    if (b[iI].childNodes[iJ].tagName==Name) 
    return b[iI].childNodes[iJ].text;
    }
    return "";
    }function getTextArray(Root, Path){
    NodesArray = Root.selectNodes(Path);
    //alert("length = "+NodesArray.length); var OutArray = new Array;
    for(i=0;i<NodesArray.length;i++){
    OutArray[i] = NodesArray[i].text;
    }
    return OutArray;
    }
      

  3.   

    以下是xmldoc.js的内容
    /***************************************************************************
    调用示例:
     var xmlObject2 = CreateXMLDoc("http://localhost/c/test.xml");
     (1) var pass = getContent(xmlObject2, "/Data/VodUsers/VodUser/Password", 0);
     (2) var pass = getText(xmlObject2, "/Data/VodUsers/VodUser/Password", 0);
     ----- 以上两个函式以全路径方式取得文本值 ----- (3) var pass = getSText(xmlObject2, "Passowrd", 0);
     ----- 以上函式直接以元素名称取得文本值  ------
     (4) var TagObject = getTag_Object(xmlObject2, "MovieType");
     ----- 以上取得 MovieType 对象 -------------
     (5) getList(TagObject, "MovieType");
     ----- 以上取得MovieType 对象的条目数 ------- 注:(1) 和 (2)的调用结果一样.***************************************************************************/function CreateXMLDoc(lfile) {
    /********************************************
    功能说明:
    通过参数 lfile 建立该文档的XML对象
    *********************************************/

    this.len = "";
    this.___file = "";
    this._file = lfile;
    this.getContent=getFTxt; ///实际调用函数
    //this.getText = getFTxt; ///实际调用函数
    this.getList = getLength; ///实际调用函数
    this.getSText = getTxt; ///实际调用函数
    this.getTagObject = getTag_Object; ///实际调用函数
    this.getFile = IsFileExist; ///实际调用函数
    this.getFile();
    this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    this.xmlDoc.async="false";
    this.xmlDoc.load(this._file);
    return this.xmlDoc;
    }function IsFileExist() {
    /********************************************
    功能说明:
     通过参数 lfile 判断该文档是否存在
    *********************************************/
    this.objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
    this.__fileTmp = this._file.split("?");
    //alert("__filetmp = "+this.__fileTmp[1]);
    this.objHTTP.Open('GET',this.__fileTmp[0],false);
    this.objHTTP.Send();
    var lStatusCode = this.objHTTP.status;
    var lStatusText = this.objHTTP.statusText;
    if (lStatusCode == "200" && lStatusText == "OK") {
    //return objHTTP.status;
    }else {
    alert("建立XML对象失败!(原因是:"+this.__fileTmp[0]+" 文件找不到.).");
    return false;
    }
    }function getFTxt(lObject, _path, li) {
    /********************************************
    功能说明:
    取得参数 path 路径的值(内容)
    ********************************************/
    alert(_path.search("/"));
    if (_path.search("/") != -1) {
    if (_path.substr(0,1) != "/") { //判断是元素是否是以 '/' 开始。 如果不是 则返回:
    return _path+" 缺 少 根 元 素.";
    } var lTmp = _path.split("/");
    var lPath = "";

    for (i=1; i<lTmp.length;i++) {
    lPath += "/"+lTmp[i];
    if (!lObject.selectNodes(lPath).length) { //逐步判断每一级路径是否存在。如果有一级不存在 则返回:
    this.txt = lPath+" 元 素 路 径 不 存 在.";
    return this.txt;
    }
    } this.txt = this.xmlDoc.selectNodes(lPath)[li].text; //返回正确结果: }else {
    alert("函 数 调 用 错 误, 请 调 用: getSText 函 式.");
    this.txt = "Error.";
    return false;
    }

    return this.txt;
    }
    function getTxt(lTagObject, _tagName, li) {
    if (_tagName.search("/") == -1) {
    if (li >= lTagObject.length) return "";
    for (iJ = 0; iJ < lTagObject[li].childNodes.length; iJ++) {
    if (lTagObject[li].childNodes[iJ].tagName==_tagName) 
    return lTagObject[li].childNodes[iJ].text;
    }
    }else {
    alert("函 数 调 用 错 误, 请 调 用: getText 或 getContent 函 式.");
    return false;
    }
    }
    function getLength(lObject, _tagName) {
    this.len = lObject.selectNodes("//"+_tagName).length;
    if (this.len < 1 ) {
    this.len = 0;
    //alert(_tagName+" 没 有 返 回 值 (或) "+_tagName+" 标 签 有 误.");
    }
    return this.len;
    }
    function getTag_Object(lObject,_tagName) {
    this._root = lObject.documentElement;
    this._nList = _root.selectNodes("//"+_tagName);
    return this._nList;
    }