实现了查看实时天气预报,把下面保存个网页即可。 呵呵~~~~
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script type="text/javascript" src="js/detect.js"></script>
<script type="text/javascript" src="js/stringbuffer.js"></script>
<body>

<script type="text/javascript">...

if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) ...{


function XMLHttpRequest() ...{

var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"];

for (var i=0; i < arrSignatures.length; i++) ...{

try ...{
var oRequest = new ActiveXObject(arrSignatures[i]);
return oRequest;

} catch (oError) ...{
}
}
}
}




function test()...{
try

...{
var strUrl="http://www.ayandy.com/Service.asmx";
var oBuffer=new StringBuffer()
oBuffer.append('<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> ');
oBuffer.append('<soap:Body><getWeatherbyCityName xmlns="http://tempuri.org/"> <theCityName>');
oBuffer.append("昆明");
oBuffer.append("</theCityName><theDayFlag>");
oBuffer.append("Today");
oBuffer.append("</theDayFlag></getWeatherbyCityName></soap:Body></soap:Envelope>");
var objXMLHttp = new XMLHttpRequest();
objXMLHttp.open("Post",strUrl, true);
objXMLHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXMLHttp.setRequestHeader("SOAPAction", "http://tempuri.org/getWeatherbyCityName");

objXMLHttp.onreadystatechange = function () ...{
if (objXMLHttp.readyState == 4)

...{
if(objXMLHttp.status==200)

...{
fnGetWeather(objXMLHttp.responseText.toString());
}else

...{
return objXMLHttp.statusText ;
}
}
}
objXMLHttp.send(oBuffer.toString());
}

catch(e)...{alert(e.description);}
}
function fnGetWeather(sTheGet)

...{
var reg = /<string>(.*?)</string>/gi;
var arrMatch=sTheGet.match(reg);
var reg4=/<string>(.*)</string>/;
var i;
var strAll=new StringBuffer();
strAll.append("今天:");
for(i=0;i<arrMatch.length-2;i++)

...{
reg4.test(arrMatch[i]);
strAll.append(RegExp.$1);
strAll.append(" ");
}
alert(strAll.toString());
}
alert(test());


</script>
</body>
</html>

总结:
1.js文件最好不要添加中文注释,会有不可控制的错误。
2.用esc.wsf压缩js文件最好只用到第3级,第四级会改变变量名称,但变量有时网页会用到。
3.注意返回值在onreadystatechange事件中,所以最好有个回调函数。
4.js文件包含其它js文件,必须要用函数实现。




















































































































总结:
1.js文件最好不要添加中文注释,会有不可控制的错误。
2.用esc.wsf压缩js文件最好只用到第3级,第四级会改变变量名称,但变量有时网页会用到。
3.注意返回值在onreadystatechange事件中,所以最好有个回调函数。
4.js文件包含其它js文件,必须要用函数实现。
