标签:
主要是分为两大类:IE、其它浏览器
IE8以下只支持这种
InputVoltage.innerText = xmlDoc.getElementsByTagName(id)[0].text,
其它浏览器大部分兼容这种
InputVoltage.innerHTML =xmlDoc.getElementsByTagName(id)[0].textContent。
部分代码如下:
1 function Gett(str) 2 { 3 4 // 判断MyBrowserType,以决定读取text还textcontent。 5 var browsertype= checkBrowser(); 6 var url="curr_run_xml.php"; 7 // code for IE7+, Firefox, Chrome, Opera, Safari 8 try{ 9 10 xmlHttp=new XMLHttpRequest(); 11 xmlHttp.onreadystatechange=function() 12 { 13 if (xmlHttp.readyState==4 && xmlHttp.status==200) 14 { 15 16 xmlDoc=xmlHttp.responseXML; 17 InputVoltage.innerHTML = GetXmlTextByTagName(xmlDoc,"input_vol_a") 18 OutputVoltage.innerHTML = GetXmlTextByTagName(xmlDoc,"output_vol_a"); 19 OutputMinVoltage.innerHTML = GetXmlTextByTagName(xmlDoc, "output_min_vol"); 20 OutputMaxVoltage.innerHTML = GetXmlTextByTagName(xmlDoc, "output_max_vol"); 21 Frequency.innerHTML = GetXmlTextByTagName(xmlDoc, "input_fre"); 22 CurrentLoad.innerHTML = GetXmlTextByTagName(xmlDoc, "output_load_a"); 23 24 <?php 25 26 if(isset($rs)) 27 { 28 foreach ($rs as $key => $value) 29 { 30 echo $value[‘dp_paramname‘].".innerHTML=GetXmlTextByTagName(xmlDoc,‘".$value[‘dp_paramname‘]."‘);\r\n"; 31 } 32 } 33 34 for($i=0;$i<count($resultHT);$i++) 35 { 36 $humidityVar = "td_humidity".$i; 37 $temperatureVar = "td_temperature".$i; 38 $ht_offline = "td_offline".$i; 39 echo $ht_offline.".innerHTML=GetXmlTextByTagName(xmlDoc,‘".$ht_offline."‘);\r\n"; 40 echo $humidityVar.".innerHTML=GetXmlTextByTagName(xmlDoc,‘".$humidityVar."‘);\r\n"; 41 echo $temperatureVar.".innerHTML=GetXmlTextByTagName(xmlDoc,‘".$temperatureVar."‘);\r\n"; 42 } 43 44 ?> 45 46 47 BatteryVoltage.innerHTML = GetXmlTextByTagName(xmlDoc,"batt_total_vol"); 48 BatteryContent.innerHTML = GetXmlTextByTagName(xmlDoc,"batt_cap"); 49 UPSCTemperature.innerHTML = GetXmlTextByTagName(xmlDoc,"ups_temp"); 50 tfvar = GetXmlTextByTagName(xmlDoc,"ups_temp"); 51 fTemp = parseFloat(tfvar); 52 fTemp = (fTemp*9)/5+32; 53 tfnum = fTemp.toFixed(2); 54 UPSFTemperature.innerHTML=tfnum.toString(); 55 56 57 state1 = GetXmlTextByTagName(xmlDoc,"ws_value7"); 58 state2 = GetXmlTextByTagName(xmlDoc,"ws_value4"); 59 state3 = GetXmlTextByTagName(xmlDoc,"ws_value6"); 60 state4 = GetXmlTextByTagName(xmlDoc,"ws_value5"); 61 state5 = GetXmlTextByTagName(xmlDoc,"ws_value0"); 62 state6 = GetXmlTextByTagName(xmlDoc,"ws_value1"); 63 state7 = GetXmlTextByTagName(xmlDoc,"ws_value3"); 64 state8 = GetXmlTextByTagName(xmlDoc,"ws_value2"); 65 66 changeImage(); 67 changeWord(); 68 } 69 } 70 xmlHttp.open("GET",url,false); 71 xmlHttp.send(null); 72 } 73 catch (e) 74 { 75 76 xmlHttp = -1; 77 var XmlHttpVersions = new Array("Microsoft.XMLDOM,MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP","Microsoft.XMLHTTP","MSXML4.DOMDocument", "MSXML3.DOMDocument", "MSXML2.DOMDocument", "MSXML.DOMDocument"); 78 for (var i = 0; i < XmlHttpVersions.length ; i++) 79 { 80 try { 81 if(xmlHttp = new ActiveXObject(XmlHttpVersions[i])) 82 { 83 84 break; 85 } 86 87 } 88 catch (e) 89 { 90 continue; 91 } 92 } 93 94 95 96 if (!xmlHttp) alert("获取浏览器xml控件失败"); 97 98 xmlHttp.onreadystatechange=function() 99 { 100 if (xmlHttp.readyState==4 && xmlHttp.status==200) 101 { 102 103 xmlDoc=xmlHttp.responseXML; 104 InputVoltage.innerText = GetXmlTextByTagName(xmlDoc,"input_vol_a") 105 OutputVoltage.innerText = GetXmlTextByTagName(xmlDoc,"output_vol_a"); 106 OutputMinVoltage.innerText = GetXmlTextByTagName(xmlDoc, "output_min_vol"); 107 OutputMaxVoltage.innerText = GetXmlTextByTagName(xmlDoc, "output_max_vol"); 108 Frequency.innerText = GetXmlTextByTagName(xmlDoc, "input_fre"); 109 CurrentLoad.innerText = GetXmlTextByTagName(xmlDoc, "output_load_a"); 110 111 <?php 112 113 if(isset($rs)) 114 { 115 foreach ($rs as $key => $value) 116 { 117 echo $value[‘dp_paramname‘].".innerText=GetXmlTextByTagName(xmlDoc,‘".$value[‘dp_paramname‘]."‘);\r\n"; 118 } 119 } 120 121 for($i=0;$i<count($resultHT);$i++) 122 { 123 $humidityVar = "td_humidity".$i; 124 $temperatureVar = "td_temperature".$i; 125 echo $humidityVar.".innerText=GetXmlTextByTagName(xmlDoc,‘".$humidityVar."‘);\r\n"; 126 echo $temperatureVar.".innerText=GetXmlTextByTagName(xmlDoc,‘".$temperatureVar."‘);\r\n"; 127 } 128 129 ?> 130 131 BatteryVoltage.innerText = GetXmlTextByTagName(xmlDoc,"batt_total_vol"); 132 BatteryContent.innerText = GetXmlTextByTagName(xmlDoc,"batt_cap"); 133 UPSCTemperature.innerText = GetXmlTextByTagName(xmlDoc,"ups_temp"); 134 tfvar = GetXmlTextByTagName(xmlDoc,"ups_temp"); 135 fTemp = parseFloat(tfvar); 136 fTemp = (fTemp*9)/5+32; 137 tfnum = fTemp.toFixed(2); 138 UPSFTemperature.innerText=tfnum.toString(); 139 140 141 state1 = GetXmlTextByTagName(xmlDoc,"ws_value7"); 142 state2 = GetXmlTextByTagName(xmlDoc,"ws_value4"); 143 state3 = GetXmlTextByTagName(xmlDoc,"ws_value6"); 144 state4 = GetXmlTextByTagName(xmlDoc,"ws_value5"); 145 state5 = GetXmlTextByTagName(xmlDoc,"ws_value0"); 146 state6 = GetXmlTextByTagName(xmlDoc,"ws_value1"); 147 state7 = GetXmlTextByTagName(xmlDoc,"ws_value3"); 148 state8 = GetXmlTextByTagName(xmlDoc,"ws_value2"); 149 150 changeImage(); 151 changeWord(); 152 153 xmlHttp = null; 154 } 155 } 156 157 xmlHttp.open("GET",url,false); 158 xmlHttp.send(null); 159 160 161 162 } 163 164 165 setTimeout("Gett()",time_inteval); 166 }
1 function check(reg) { 2 var ug = navigator.userAgent.toLowerCase(); 3 return reg.test(ug); 4 } 5 6 function checkBrowser() 7 { 8 var ug = navigator.userAgent.toLowerCase(); 9 // var userAgent = document.getElementById("userAgent"); 10 // userAgent.innerHTML = "浏览器的用户代理报头:" + ug; 11 12 //alert("浏览器的用户代理报头:" + ug); 13 14 var browserType = ""; 15 var ver = ""; 16 17 //检测IE及版本 18 var IE = ug.match(/msie\s*\d\.\d/); //提取浏览器类型及版本信息,注match()方法返回的是数组而不是字符串 19 var isIE = check(/msie/); 20 if(isIE) { 21 browserType = "Internet Explorer"; 22 ver = IE.join(" ").match(/[0-9]/g).join("."); //先用join()方法转化为字符串,然后用match()方法匹配到版本信息,再用join()方法转化为字符串 23 24 MyBrowserType=1; 25 } 26 27 //检测chrome及版本 28 var chrome = ug.match(/chrome\/\d\.\d/gi); 29 var isChrome = check(/chrome/); 30 if(isChrome) { 31 browserType = "Chrome"; 32 //ver = chrome.join(" ").match(/[0-9]/g).join("."); 33 MyBrowserType=2; 34 35 } 36 37 //检测firefox及版本 38 var firefox = ug.match(/firefox\/\d\.\d/gi); 39 var isFirefox = check(/firefox/); 40 if(isFirefox) { 41 browserType = "Firefox"; 42 ver = firefox.join(" ").match(/[0-9]/g).join("."); 43 MyBrowserType=3; 44 } 45 return browserType; 46 }
1 function GetXmlTextByTagName(xmlDoc,id) 2 { 3 var Obj, szTxt = ""; 4 try 5 { 6 Obj = xmlDoc.getElementsByTagName(id); 7 if (typeof(Obj) == "undefined") 8 { 9 return szTxt; 10 } 11 else if ((Obj = Obj.item(0)) == null) 12 { 13 return szTxt; 14 } 15 else 16 { 17 18 if(MyBrowserType==1) 19 szTxt = Obj.text; 20 else 21 szTxt = Obj.textContent; 22 23 } 24 } 25 catch (objException) 26 { 27 } 28 return szTxt; 29 }
标签:
原文地址:http://www.cnblogs.com/hzijone/p/4523350.html