js高手快过来看看,也是tree的问题,有代码?
页面有个<div id="deeptree" class="deeptree" CfgXMLSrc="deeptreeconfig.xml">
此<div>调用了htc文件的方法
本人对次有好几个地方一点都看不懂,请高手说明一下:
方法一:
function Init()
{
try{
var strHTML;
var objLI;
// Set up global tree accessors.
// TODO:: check that these have not been overridden by
// another consuming application.
// TODO:: encapsulate global accessors in other functionality
// as well (dtbar,searchtab,contentbar should set themselves,
// rather than doing it here)
/*
window.top.deeptree = element;
window.top.dtbar = top.frames.fraLeftFrame.frames.fraDTBar;
window.top.ulbar = top.frames.fraUserListFrame.frames.fraULBar;
window.top.toolbar = top.frames.fraToolbar.frames.fraContentBar;
window.top.content = top.frames.fraContent;
window.top.searchtab = top.frames.fraSearchTab;
window.top.leftframe = top.frames.fraLeftFrame;
window.top.rightframe = top.frames.fraRightFrame;
window.top.mainframeset = top.document.all.fstMain;
window.top.leftframeset = top.document.all.fstLeftMain;
window.top.fstleftframeset = top.document.all.fstLeft;
*/
oConfig = new Config
element.type = "container";
m_iMasterIdx = GetXML( oConfig.sTopXmlSrc , element , "deeptree" );
window.document.body.attachEvent("onkeydown",KeyDown);
}
catch(e)
{
setTimeout("Init()",3000)
}
}
element.type //这个是什么意思????
此方法中调用了一个Config
他的定义在下面:
方法二:
function Config()
{
var strCfgXMLSrc = "";
var sPath = "";
strCfgXMLSrc = element.CfgXMLSrc;
if (strCfgXMLSrc != "")
{
var objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
objXMLDoc.async = false;
objXMLDoc.load( strCfgXMLSrc );
if (objXMLDoc.xml != "")
{
var oTopXmlSrc = objXMLDoc.documentElement.selectSingleNode("//TopXMLSrc");
if ( null != oTopXmlSrc )
{
this.sTopXmlSrc = String( oTopXmlSrc.text );
}
else
{
// Error: Invalid TopXMLSrc in Config.xml
}
var oTarget = objXMLDoc.documentElement.selectSingleNode("//ContentTarget");
if ( null != oTarget )
{
this.sTarget = oTarget.text;
}
else
{
//Error: Invalid Target in Config.xml
}
}
}
}
并且他有关方法是GetXML,代码如下:
function GetXML( strXMLSrc , oEl , oElClass , oSync )
{
var aryXMLNodes;
var i = 0;
var strRetVal = "";
var iCall = fnAllocCall();
var objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
objXMLDoc.async = true;
m_aoCalls[iCall] = new CallObject( objXMLDoc , oEl , oElClass , oSync );
objXMLDoc.onreadystatechange = Function( "fnLoadComplete( " + iCall + " );" );
objXMLDoc.load( strXMLSrc );
return iCall;
}