一个不知道能否解决的问题! 你把playlist.js下载下来,看看play()函数是不是在这里面定义。在play()函数中看看,实际下载连接是什么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我对脚本不熟习,以下是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);} 以下是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;} 以下是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;} 请教js 读json文件的方法 求一日期的算法。看图,实现的效果 一个js中的select对象的问题,请帮忙解决。谢谢。 有没有办法设置一个JS对象访问的默认属性 图片的控制显示小问题 如何在这些网址中提取变量? 要在这个正则改为@前允许有空格怎么改呢 关于明细表的问题,欢迎大家讨论,最迟明天结帐! 公开我今天的劳动,希望对大家有用。。 怎么动态的改变scriptd对象中的src属性 十分简单--关于滚动文字和淡入淡出的冲突 ◇◆求高手来看一下我做的一个图片放大缩小的程序!!有bug存在!!◇◆
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);
}
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;
}
/***************************************************************************
调用示例:
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;
}