免费天气预报插件jquery版本

天气信息来源:中国天气网【weather.com.cn】
根据QQ[http://fw.qq.com:80/ipaddress]得到ip地址和所在城市信息,
然后调用weather.com.cn网站的xml得到城市代码,就可以得到JSON格式的天气信息
setWeather函数可以自行修改生成您想要的天气信息格式

有些兄弟说不好用可能是没有仔细看,我重新整理一下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<script language="javascript" src="jquery.js"></script>
<script language='javascript' src='jquery.cookie.js'></script>
<script language='javascript' src='weather.js'></script>
<div align="center">
	<span id='jsCity'> </span>
	<span id='jsWeather'> </span>
</div>
</body>
</html>



Weather.js文件内容如下:

/*
'**********************************************
' 文件名: 免费天气插件jquery版本
' 日期:  2010年07月01日
' 声明:  
'   本代码可以自由使用,但请保留此版权声明信息
'   如果您对本代码进行修改增强,
'   请发送一份给俺。
'**********************************************
*/

//jsCity、jsWeather为您html中的元素ID
function setWeather(tID,tCity,tTip,tWendu,tFengli)
{
 $("#jsCity").html("<a href='http://www.weather.com.cn/html/weather/"+tID+".shtml' target=_bank>"+tCity+"</a>");
 $("#jsWeather").html(tTip+" "+tWendu);
}

var cityid,city1,city2,weaXML,weaHTML
weaXML = "http://service.weather.com.cn/plugin/"
weaHTML = "http://m.weather.com.cn/data/"
$().ready(function() {
 cityid = $.cookie('wea_cityid');
 if(cityid==null){
  LoadJS("http://fw.qq.com:80/ipaddress", function()
  {
   if (typeof IPData != "undefined")
   {
    city1 = IPData[2];
    city2 = IPData[3];
    city1 = city1.replace("省","")
    city1 = city1.replace("市","");
    if(city2=="") city2 = city1;
    $.cookie('wea_cityip', IPData[0]);
    getLocalCity("data/city.xml",0);
   }
  });
 }
 else{
  getWeather(cityid);
 }
});
function getLocalCity(turl,b)
{
 $.ajax({
    type: "GET",
    url: weaXML+turl,
    dataType: "text",
    success: function(msg){
   var cityArr = msg.split(",");
   for(var i=0;i <cityArr.length;i++){
    cid = cityArr[i].split("|")[0];
    if(b<3){
     if(cityArr[i].split("|")[1]==city1 || cityArr[i].split("|")[1]==city2){
      getLocalCity("data/city"+ cid +".xml",b+1);
      break;
     }
    }
    else{
     cid = cityArr[i].split("|")[1];
     getWeather(cid);
     break;
    }
   }
    }
 });
}
function getWeather(cid)
{
 $.cookie('wea_cityid', cid,{expires: 365});
 var weajs = weaHTML+cid+'.html';
 $.getJSON(
  weajs,
  function(objJson){
   var cityname=objJson.weatherinfo.city;  //上海
   var id=objJson.weatherinfo.cityid;   //101020100 
   var cityinfo1=objJson.weatherinfo.weather1; //晴转多云
   var cityinfo2=objJson.weatherinfo.weather2;
   var wd1=objJson.weatherinfo.wind1;   //北风3-4级
   var wd2=objJson.weatherinfo.wind2;
   var fl1=objJson.weatherinfo.fl1;   //3-4级
   var fl2=objJson.weatherinfo.fl2;
   var temp1=objJson.weatherinfo.temp1;  //4℃~-1℃
   var temp2=objJson.weatherinfo.temp2;
   var img1=objJson.weatherinfo.img1;
   var img2=objJson.weatherinfo.img2;
   var img3=objJson.weatherinfo.img3;
   var img4=objJson.weatherinfo.img4;
   var index=objJson.weatherinfo.index;
   var index_d=objJson.weatherinfo.index_d;
   var index_xc=objJson.weatherinfo.index_xc;
   var index_uv=objJson.weatherinfo.index_uv;
   var date=objJson.weatherinfo.date;
   var date_y=objJson.weatherinfo.date_y;
   var imgtitle1=objJson.weatherinfo.img_title1;
   var imgtitle2=objJson.weatherinfo.img_title2;
   var imgsingle=objJson.weatherinfo.img_single;
   var imgtitlesingle=objJson.weatherinfo.img_title_single;
   
   setWeather(id,cityname,cityinfo1,temp1,wd1)
 }); 
}
function LoadJS(jsUrl,fCallBack)
{
 var _script = document.createElement('script');
 _script.setAttribute('type', 'text/javascript');
 _script.setAttribute('charset', 'gb2312');
 _script.setAttribute('src', jsUrl);
 document.getElementsByTagName('head')[0].appendChild(_script);
 if(typeof fCallBack != "undefined")
 {
  if ($.browser.msie)
  {
   _script.onreadystatechange = function()
   {
    if (this.readyState=='loaded' || this.readyState=='complete')
    {fCallBack();}
   };
  }
  else if ($.browser.mozilla)
  {
   _script.onload = function(){fCallBack();};
  }
  else
  {
   fCallBack();
  }
 }
}
最后注意事项:需要用到jquery cookie的插件,此插件很多地方有用到。
Author:winbeanye
Date:2010-07-09
MyWebSite:http://www.5ujd.net
原文地址:https://www.cnblogs.com/naoguazi/p/1774166.html