whutils.js
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:9k
源码类别:

SNMP编程

开发平台:

C/C++

  1. var gsFileName="";
  2. var xmlDoc=null;
  3. var sdocPath=null;
  4. var gsInsertBeforeEndHTML="";
  5. var sReplaceStringsSrc=new Array();
  6. sReplaceStringsSrc[0]="&";
  7. sReplaceStringsSrc[1]=">";
  8. sReplaceStringsSrc[2]="<";
  9. sReplaceStringsSrc[3]=""";
  10. sReplaceStringsSrc[4]=" ";
  11. var sReplaceStringsDst=new Array();
  12. sReplaceStringsDst[0]="&";
  13. sReplaceStringsDst[1]=">";
  14. sReplaceStringsDst[2]="<";
  15. sReplaceStringsDst[3]=""";
  16. sReplaceStringsDst[4]=" ";
  17. var goHighLighted=null;
  18. function _getRelativePath(strParentPath,strCurrentPath)
  19. {
  20. if(_isAbsPath(strCurrentPath)) return _getPath(strCurrentPath);
  21. strParentPath=_replaceSlash(strParentPath);
  22. strParentPath=_getPath(strParentPath);
  23. strCurrentPath=_replaceSlash(strCurrentPath);
  24. strCurrentPath=_getPath(strCurrentPath);
  25. for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)
  26. {
  27. if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))
  28. break;
  29. }
  30. strParentPath=strParentPath.substring(i);
  31. strCurrentPath=strCurrentPath.substring(i);
  32. var nPathPos=0;
  33. while(nPathPos!=-1)
  34. {
  35. nPathPos=strParentPath.indexOf("/");
  36. if(nPathPos!=-1)
  37. {
  38. strParentPath=strParentPath.substring(nPathPos+1);
  39. strCurrentPath="../"+strCurrentPath;
  40. }
  41. }
  42. return strCurrentPath;
  43. }
  44. function _getRelativeFileName(strParentPath, strCurrentPath)
  45. {
  46. strParentPath=_replaceSlash(strParentPath);
  47. strParentPath=_getPath(strParentPath);
  48. strCurrentPath=_replaceSlash(strCurrentPath);
  49. for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)
  50. {
  51. if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))
  52. break;
  53. }
  54. strParentPath=strParentPath.substring(i);
  55. strCurrentPath=strCurrentPath.substring(i);
  56. var nPathPos=0;
  57. while(nPathPos!=-1)
  58. {
  59. nPathPos=strParentPath.indexOf("/");
  60. if(nPathPos!=-1)
  61. {
  62. strParentPath=strParentPath.substring(nPathPos+1);
  63. strCurrentPath="../"+strCurrentPath;
  64. }
  65. }
  66. return strCurrentPath;
  67. }
  68. function _isAbsPathToHost(sPath)
  69. {
  70. return (sPath.indexOf("/")==0);
  71. }
  72. function _getHost(sPath)
  73. {
  74. var nPos=sPath.indexOf("//");
  75. if(nPos>0)
  76. {
  77. var nPosx=sPath.indexOf("/",nPos+2);
  78. if(nPosx>0)
  79. return sPath.substring(0,nPosx);
  80. else
  81. return sPath;
  82. }
  83. return sPath;
  84. }
  85. function _getFullPath(sPath,sRelPath)
  86. {
  87. if(_isAbsPath(sRelPath))
  88. return sRelPath;
  89. else if(_isAbsPathToHost(sRelPath))
  90. return _getHost(sPath)+sRelPath;
  91. else
  92. {
  93. var sFullPath=sPath;
  94. var nPathPos=0;
  95. while(nPathPos!=-1)
  96. {
  97. var nPathPos=sRelPath.indexOf("../");
  98. if(nPathPos!=-1)
  99. {
  100. sRelPath=sRelPath.substring(nPathPos+3);
  101. sFullPath=sFullPath.substring(0,sFullPath.length-1);
  102. var nPos2 = sFullPath.lastIndexOf("/");
  103. if(nPos2!=-1)
  104. sFullPath=sFullPath.substring(0,nPos2+1);
  105. else
  106. break;
  107. }
  108. }
  109. sFullPath+=sRelPath;
  110. return sFullPath;
  111. }
  112. }
  113. function _isAbsPath(strPath)
  114. {
  115. var strUpper=strPath.toUpperCase();
  116. return (strUpper.indexOf(":")!=-1);
  117. }
  118. function _replaceSlash(strURL)
  119. {
  120. var re=new RegExp("\\","g");
  121. var strReplacedURL=strURL.replace(re,"/");
  122. return strReplacedURL;
  123. }
  124. function _getPath(strURL)
  125. {
  126. pathpos=strURL.lastIndexOf("/");
  127. if(pathpos>0)
  128. return strURL.substring(0,pathpos+1);
  129. else
  130. return "";
  131. }
  132. function removeItemFromArray(oArray,i)
  133. {
  134. if(oArray.length&&i>=0&&i<oArray.length)
  135. {
  136. var len=oArray.length;
  137. for(var s=i;s<len-1;s++)
  138. oArray[s]=oArray[s+1];
  139. oArray.length=len-1;
  140. }
  141. }
  142. function insertItemIntoArray(oArray,i,obj)
  143. {
  144. if(oArray.length&&i>=0&&i<=oArray.length)
  145. {
  146. var len=oArray.length;
  147. for(var s=len;s>i;s--)
  148. oArray[s]=oArray[s-1];
  149. oArray[i]=obj;
  150. }
  151. }
  152. function loadData(sFileName)
  153. {
  154. if(!getElement("dataDiv"))
  155. {
  156. if(!insertDataDiv())
  157. {
  158. gsFileName=sFileName;
  159. return;
  160. }
  161. }
  162. var sHTML="";
  163. if(gbMac)
  164. sHTML+="<iframe src="+sFileName+"></iframe>";
  165. else
  166. sHTML+="<iframe style="visibility:hidden;width:0;height:0" src="+sFileName+"></iframe>";
  167. var oDivCon=getElement("dataDiv");
  168. if(oDivCon)
  169. {
  170. if(gbNav6)
  171. {
  172. if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0)
  173. {
  174. oDivCon.getElementsByTagName("iFrame")[0].src=sFileName;
  175. }
  176. else
  177. oDivCon.innerHTML=sHTML;
  178. }
  179. else
  180. oDivCon.innerHTML=sHTML;
  181. }
  182. }
  183. function loadDataXML(sFileName)
  184. {
  185. var sCurrentDocPath=_getPath(document.location.href);
  186. sdocPath=_getFullPath(sCurrentDocPath,sFileName);
  187. if(gbIE5)
  188. {
  189. xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  190. xmlDoc.async=true;
  191. xmlDoc.onreadystatechange=checkState;
  192. if(document.body!=null)
  193. xmlDoc.load(sdocPath);
  194. }
  195. else if(gbNav6)
  196. {
  197. xmlDoc=document.implementation.createDocument("","",null);
  198. xmlDoc.addEventListener("load",initializeData,false);
  199. xmlDoc.load(sdocPath,"text/xml");
  200. }
  201. }
  202. function initializeData()
  203. {
  204. if(xmlDoc!=null)
  205. putDataXML(xmlDoc,sdocPath);
  206. }
  207. function checkState()
  208. {
  209. if(xmlDoc!=null)
  210. {
  211. var state=xmlDoc.readyState;
  212. if(state==4)
  213. {
  214. var err=xmlDoc.parseError;
  215. if(err.errorCode!=0)
  216. alert(err.reason);
  217. else
  218. putDataXML(xmlDoc,sdocPath);
  219. }
  220. }
  221. }
  222. function insertDataDiv()
  223. {
  224. var sHTML="";
  225. if(gbMac)
  226. sHTML+="<div id=dataDiv style="display:none;"></div>";
  227. else
  228. sHTML+="<div id=dataDiv style="visibility:hidden"></div>";
  229. if((gbIE5||gbNav6)&&document.body)
  230. document.body.insertAdjacentHTML("beforeEnd",sHTML);
  231. else
  232. {
  233. gsInsertBeforeEndHTML=sHTML;
  234. setTimeout("insertWhenBodyReady();",100);
  235. return false;
  236. }
  237. return true;
  238. }
  239. function insertWhenBodyReady()
  240. {
  241. if(gsInsertBeforeEndHTML=="") return;
  242. if(document.body)
  243. {
  244. document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML);
  245. gsInsertBeforeEndHTML="";
  246. loadData(gsFileName);
  247. }
  248. else
  249. {
  250. setTimeout("insertWhenBodyReady();",100);
  251. }
  252. }
  253. function window_BUnload()
  254. {
  255. var oDivCon=getElement("dataDiv");
  256. if(oDivCon)
  257. oDivCon.innerHTML="";
  258. }
  259. function removeThis(obj)
  260. {
  261. if(obj.parentNode)
  262. obj.parentNode.removeChild(obj);
  263. else
  264. obj.outerHTML="";
  265. }
  266. function getParentNode(obj)
  267. {
  268. if(obj.parentNode)
  269. return obj.parentNode;
  270. else if(obj.parentElement)
  271. return obj.parentElement;
  272. return null;
  273. }
  274. function getElement(sID)
  275. {
  276. if(document.getElementById)
  277. return document.getElementById(sID);
  278. else if(document.all)
  279. return document.all(sID);
  280. return null;
  281. }
  282. function getChildrenByTag(obj,sTagName)
  283. {
  284. if(obj.getElementsByTagName)
  285. {
  286. var aChildren=new Array();
  287. var aElements=getElementsByTag(obj,sTagName);
  288. if(aElements!=null)
  289. {
  290. for(var i=0;i<aElements.length;i++)
  291. {
  292. if(aElements[i].parentNode==obj)
  293. aChildren[aChildren.length]=aElements[i];
  294. }
  295. return aChildren;
  296. }
  297. else
  298. return new Array();
  299. }
  300. else if(obj.children)
  301. return obj.children.tags(sTagName);
  302. }
  303. function getElementsByTag(obj,sTagName)
  304. {
  305. if(obj.getElementsByTagName)
  306. return obj.getElementsByTagName(sTagName);
  307. else if(obj.all)
  308. return obj.all.tags(sTagName);
  309. return null;
  310. }
  311. function _htmlToText(sHTML)
  312. {
  313. if(sHTML==null) return null;
  314. var sText=sHTML;
  315. for(var i=0;i<sReplaceStringsSrc.length;i++)
  316. {
  317. var re=new RegExp(sReplaceStringsSrc[i],"g");
  318. sText=sText.replace(re,sReplaceStringsDst[i]);
  319. }
  320. return sText;
  321. }
  322. function _textToHtml_nonbsp(sText)
  323. {
  324. if(sText==null) return null;
  325. var sHTML=sText;
  326. for(var i=0;i<sReplaceStringsSrc.length-1;i++)
  327. {
  328. var re=new RegExp(sReplaceStringsDst[i],"g");
  329. sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);
  330. }
  331. return sHTML;
  332. }
  333. function _textToHtml(sText)
  334. {
  335. if(sText==null) return null;
  336. var sHTML=sText;
  337. for(var i=0;i<sReplaceStringsSrc.length;i++)
  338. {
  339. var re=new RegExp(sReplaceStringsDst[i],"g");
  340. sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);
  341. }
  342. return sHTML;
  343. }
  344. function getInnerText(obj)
  345. {
  346. var renbsp2sp=new RegExp("xa0","g");
  347. if(obj.innerText)
  348. {
  349. var sText=obj.innerText;
  350. sText=sText.replace(renbsp2sp," ");
  351. return sText;
  352. }
  353. else
  354. {
  355. if(obj.nodeValue)
  356. {
  357. var sValue=obj.nodeValue;
  358. sValue=sValue.replace(renbsp2sp," ");
  359. return sValue;
  360. }
  361. else
  362. {
  363. var sText="";
  364. var oChild=obj.firstChild;
  365. while(oChild!=null)
  366. {
  367. sText+=getInnerText(oChild);
  368. oChild=oChild.nextSibling;
  369. }
  370. return sText;
  371. }
  372. }
  373. }
  374. function HighLightElement(obj,sHighLightColor,sNormalColor)
  375. {
  376. if(obj!=null)
  377. {
  378. resetHighLight(sNormalColor);
  379. obj.style.backgroundColor=sHighLightColor;
  380. goHighLighted=obj;
  381. }
  382. }
  383. function resetHighLight(sNormalColor)
  384. {
  385. if(goHighLighted!=null)
  386. {
  387. goHighLighted.style.backgroundColor=sNormalColor;
  388. goHighLighted=null;
  389. }
  390. }
  391. function whFont(sName,sSize,sColor,sStyle,sWeight,sDecoration)
  392. {
  393. this.sName=sName;
  394. this.sSize=sSize;
  395. this.sColor=sColor;
  396. this.sStyle=sStyle;
  397. this.sWeight=sWeight;
  398. this.sDecoration=sDecoration;
  399. }
  400. function getFontStyle(oFont)
  401. {
  402. var sStyle="";
  403. if(oFont)
  404. {
  405. sStyle+="font-family:"+oFont.sName+";";
  406. if(gbMac)
  407. {
  408. var nSize=parseInt(oFont.sSize);
  409. if(gbIE5)
  410. nSize+=2;
  411. else
  412. nSize+=4;
  413. sStyle+="font-size:"+nSize+"pt;";
  414. }
  415. else
  416. sStyle+="font-size:"+oFont.sSize+";";
  417. sStyle+="font-style:"+oFont.sStyle+";";
  418. sStyle+="font-weight:"+oFont.sWeight+";";
  419. sStyle+="text-decoration:"+oFont.sDecoration+";";
  420. sStyle+="color:"+oFont.sColor+";";
  421. }
  422. return sStyle;
  423. }
  424. var gbWhUtil=true;