本程式碼不涉及任何後端開發程式碼(如.Net,JAVA等)。目前最權威的天氣預報數據是中國天氣網(http://www.weather.com.cn/),因為這個是官方提供的氣象數據,除了商業的加值服務外,還提供了免費的以JSON數據格式返回的氣象數據,以查看杭州的天氣數據為例,可以輸入以下地址:http://m.weather.com.cn/data/101210101.html ,返回的JSON數據格式如下圖:
YQL服務可以實現對網路上不同資料來源的query,filter,combine(查詢,過濾,合併),提供類似SQL,具體位址如下:http://developer.yahoo.com/yql/console/ 。當實作查詢的時候,YQL服務就會存取網路上的資料來源,傳輸數據,傳回XML或JSON形式的資料結果。 YQL可以使用許多類型的資料來源,包括Yahoo!Web services 或其他的網路服務,和網路資料類型例如:HTML, XML, RSS,和Atom。
因此可以透過兩者的結合使用,完成天氣預報功能的開發,具體JS代碼如下:
"+J_data.weatherinfo.city+"天气预报(数据来源中国天气网)"+"
");"+J_data.weatherinfo.date_y+" "+J_data.weatherinfo.week+" "+J_data.weatherinfo.temp1+" "+J_data.weatherinfo.weather1+" "+J_data.weatherinfo.wind1+" "+J_data.weatherinfo.index+" "+J_data.weatherinfo.index_d+"
"); var tdy = new Date(t);
var t2 = new Date();
t2.setDate(tdy.getDate()+1);
$("#content").append("
"+ t2.Format("yyyy年MM月dd日")+" "+getweekdays(t2)+" "+J_data.weatherinfo.temp2+" "+J_data.weatherinfo.weather2+" "+J_data.weatherinfo.wind2+"
");"+t3.Format("yyyy年MM月dd日")+" "+getweekdays(t3)+" "+J_data.weatherinfo.temp3+" "+J_data.weatherinfo.weather3+" "+J_data.weatherinfo.wind3+"
");"+t4.Format("yyyy年MM月dd日")+" "+getweekdays(t4)+" "+J_data.weatherinfo.temp4+" "+J_data.weatherinfo.weather4+" "+J_data.weatherinfo.wind4+"
");"+t5.Format("yyyy年MM月dd日")+" "+getweekdays(t5)+" "+J_data.weatherinfo.temp5+" "+J_data.weatherinfo.weather5+" "+J_data.weatherinfo.wind5+"
"); var t6 = new Date();
t6.setDate(tdy.getDate()+5);
$("#content").append("
"+t6.Format("yyyy年MM月dd日")+" "+getweekdays(t6)+" "+J_data.weatherinfo.temp6+" "+J_data.weatherinfo.weather6+" "+J_data.weatherinfo.wind6+"
");
//alert(getweekdays(t2));
} else {
$("#content").text('no such code: ' + code);
}
});
//$.getJSON("http://m.weather.com.cn/data/101210101.html", null, function(json) { alert(json); });
}
function getweekdays(datey)
{
🎜> return "星期日";
}
}
}getDay()==1)
{
else if(datey.getDay()==2)
{
;
}
else if(datey.getDay return "星期三";
}
else if(datey.getDay()==4 )
{
return "週四 if(datey.getDay()==5)
{
> else if(datey.getDay()==6)
{
}
}
最終實現的效果,如下圖: