<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<script type=text/javascript src=http://fw.qq.com/ipaddress></script> 
<!--   <script type=text/javascript> 
    document.write("当前ip:"+IPData[0]+",省份:"+IPData[2]+",城市:"+IPData[3]); 
   </script> -->
<script language="javascript" src="prototype.js"></script>
<script language="javascript">//取得中国所有的城市
function getCity()
{
var url = "http://www.Google.com/ig/cities";
var cityPara = {method:"get" , 
     parameters:"output=xml&hl=zh-cn&country=cn" ,
     onComplete:showCityRespose
     };
var cityRequest = new Ajax.Request(url , cityPara);
}function showCityRespose(originalRequest)
{
cityInfo = originalRequest.responseXML;
cityNodes = cityInfo.getElementsByTagName("city");
for(var i=0;i<cityNodes.length;i++){
  var city = cityNodes[i];
  var cityName = getData( city , "name");
  var latitude = getData( city ,"latitude_e6");
  var longitude= getData( city ,"longitude_e6");
  var option =document.createElement("option");
  $("city").options.add(option);
  option.innerText = cityName;
  option.value=",,,"+latitude+","+longitude;
}
}
function forecast(city)
{
$("result").innerHTML = "请稍等";
var url = "http://www.Google.com/ig/api";
var para = {method:"get" , 
  parameters:"hl=zh-cn&weather="+city ,
  onComplete:showResult
};
var forecastRequest = new Ajax.Request(url , para);
}
//显示预报结果 
function showResult(originalRequest)
{
$("result").innerHTML = "";
resultXML = originalRequest.responseXML;
forecastNodes = resultXML.getElementsByTagName("forecast_conditions");
for(i=0;i<forecastNodes.length;i++){
  var oneNode = forecastNodes[i];
  var weekday = getData( oneNode , "day_of_week");
  var low = getData( oneNode , "low");
  var high = getData( oneNode , "high");
  var icon = getData( oneNode , "icon");
  var result = document.createElement("div");
  var condition = getData( oneNode , "condition");
  result.appendChild(document.createTextNode(weekday));
  result.appendChild(document.createElement("br"));
  result.appendChild(document.createTextNode("最低温度"+low));
  result.appendChild(document.createElement("br"));
  result.appendChild(document.createTextNode("最高温度"+high));
  result.appendChild(document.createElement("br"));
  var image = document.createElement("img");
  image.setAttribute("src" , "http://www.Google.com"+icon);
  result.appendChild(image);
  result.appendChild(document.createElement("br"));
  result.appendChild(document.createTextNode(condition));
  $("result").appendChild(result);
}
}
//取得数据值
function getData(parentNode , nodeName)
{
return parentNode.getElementsByTagName(nodeName)[0].getAttribute("data");
}
</script>        
</head><body onLoad="getCity()">
<div id="selectcity">
<form name="form1" method="post" action="">
<select name="city" id="city" onChange="forecast(this.value)">
        <option value="">选择城市</option>
    </select>    
</form>
</div><div id="result"></div>
</body>
</html>现在只有IE浏览器才能访问    别的浏览器不显示城市列表    请各位大侠指点!谢谢!

解决方案 »

  1.   

    自己先找一下JS浏览器兼容方面的资料文章看看,看不明白想不明白的,再问。基础功课总应该自己先做一做。
      

  2.   

    楼主第一步应该学会调试代码。
      

  3.   

    先了解一下 js哪些东西会涉及到浏览器差异
      

  4.   

    谢谢!我真的不知道怎么找,刚才看了看网上的也没找出问题所在,能帮个忙给看看到底哪里出问题了吗?
      

  5.   

    谢谢!我真的不知道怎么找,刚才看了看网上的也没找出问题所在,能帮个忙给看看到底哪里出问题了吗?