Vista天氣預(yù)報--修正不顯示中國天氣預(yù)報的BUG
更新時間:2007年03月11日 00:00:00 作者:
經(jīng)過努力,修改了weather.js文件,可以獲得中國的天氣預(yù)報了!
之前已經(jīng)由朋友說過,中國地區(qū)不能使用天氣預(yù)報,是因為wlsrvc.dll文件檢測到區(qū)域設(shè)置為中國,就返回1506,提示"您當(dāng)前所在國家或地區(qū)不支持此服務(wù)。"
其實如果我們直接在瀏覽器中輸入地址是可以返回中國地區(qū)的天氣預(yù)報的,因此我們可以繞過這個dll文件,自己修改腳本直接獲取信息。
我們可以通過Microsoft.XMLDOM來獲取網(wǎng)上的xml數(shù)據(jù),然后把里面的數(shù)據(jù)解析到一個類中,返回給原來的腳本顯示出來。
為了減少工作量,我盡量減少原來代碼的修改,只是添加了一些新代碼,并修改幾個必要的地方,在我的機(jī)器上試驗成功,理論上應(yīng)該x86和x64是通用的。
由于我對Javascript研究不深,代碼可能有相當(dāng)?shù)娜哂?,各位可以自己按需要修改,不過要注意:想自己修改兩個腳本,需要首先獲得兩個文件的所有權(quán),獲取方法請參考論壇上其他文章。另外,大家也可以對其進(jìn)行漢化,把里面的字符串換成中文就行了,不過星期要自己寫一個函數(shù)替換掉。
使用方法:
下載壓縮包文件后,解壓到
X:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget\zh-CN\js
覆蓋原來的(建議先備份)。其中X為系統(tǒng)盤
對于字體問題請修改
X:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget\zh-CN\css\weather.css
把里面的12行
font-family:MS Yahei,Simsun,Verana,Segoe UI;
中的MS改為 Microsoft,因為MS是錯誤的寫法,是這個錯誤造成字體顯示為之后的simsun宋體的(wbpluto注):
font-family:Microsoft Yahei,Simsun,Verana,Segoe UI;
字體就變?yōu)檠藕诹?,而且顯示問題也解決了
另外,關(guān)于顯示三天天氣預(yù)報問題,請把它拖出邊欄就可以了!
相關(guān)下載1
顯示中文城市名稱的方法:
1.使用下面附件中的JS文件替換weather.js文件
2.然后修改weather.js文件里
function toChineseLocation(location)
{
var retLocation = location;
switch(location)
{
case ("Tangshan, CHN"): //按照格式添加其他城市即可,注意:Tangshan, CHN 英文地址的大小寫,逗號要小寫,逗號后有半角空格。
retLocation = "中國-唐山"; //添加自己所在城市即可。
break;
case ("Beijing, CHN"):
retLocation = "中國-北京";
break;
//By zzxxqq
default:
break;
}
return retLocation;
}
由于中國城市太多如果全都加進(jìn)去話,工作量太大,請朋友們自已添加吧??!
相關(guān)下載2
之前已經(jīng)由朋友說過,中國地區(qū)不能使用天氣預(yù)報,是因為wlsrvc.dll文件檢測到區(qū)域設(shè)置為中國,就返回1506,提示"您當(dāng)前所在國家或地區(qū)不支持此服務(wù)。"
其實如果我們直接在瀏覽器中輸入地址是可以返回中國地區(qū)的天氣預(yù)報的,因此我們可以繞過這個dll文件,自己修改腳本直接獲取信息。
我們可以通過Microsoft.XMLDOM來獲取網(wǎng)上的xml數(shù)據(jù),然后把里面的數(shù)據(jù)解析到一個類中,返回給原來的腳本顯示出來。
為了減少工作量,我盡量減少原來代碼的修改,只是添加了一些新代碼,并修改幾個必要的地方,在我的機(jī)器上試驗成功,理論上應(yīng)該x86和x64是通用的。
由于我對Javascript研究不深,代碼可能有相當(dāng)?shù)娜哂?,各位可以自己按需要修改,不過要注意:想自己修改兩個腳本,需要首先獲得兩個文件的所有權(quán),獲取方法請參考論壇上其他文章。另外,大家也可以對其進(jìn)行漢化,把里面的字符串換成中文就行了,不過星期要自己寫一個函數(shù)替換掉。
使用方法:
下載壓縮包文件后,解壓到
X:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget\zh-CN\js
覆蓋原來的(建議先備份)。其中X為系統(tǒng)盤
對于字體問題請修改
X:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget\zh-CN\css\weather.css
把里面的12行
font-family:MS Yahei,Simsun,Verana,Segoe UI;
中的MS改為 Microsoft,因為MS是錯誤的寫法,是這個錯誤造成字體顯示為之后的simsun宋體的(wbpluto注):
font-family:Microsoft Yahei,Simsun,Verana,Segoe UI;
字體就變?yōu)檠藕诹?,而且顯示問題也解決了
另外,關(guān)于顯示三天天氣預(yù)報問題,請把它拖出邊欄就可以了!
相關(guān)下載1
顯示中文城市名稱的方法:
1.使用下面附件中的JS文件替換weather.js文件
2.然后修改weather.js文件里
function toChineseLocation(location)
{
var retLocation = location;
switch(location)
{
case ("Tangshan, CHN"): //按照格式添加其他城市即可,注意:Tangshan, CHN 英文地址的大小寫,逗號要小寫,逗號后有半角空格。
retLocation = "中國-唐山"; //添加自己所在城市即可。
break;
case ("Beijing, CHN"):
retLocation = "中國-北京";
break;
//By zzxxqq
default:
break;
}
return retLocation;
}
由于中國城市太多如果全都加進(jìn)去話,工作量太大,請朋友們自已添加吧??!
相關(guān)下載2
您可能感興趣的文章:
- 使用ASP.NET一般處理程序或WebService返回JSON的實現(xiàn)代碼
- asp.net(c#)動態(tài)修改webservice的地址和端口(動態(tài)修改配置文件)
- asp.net類庫中添加WebService引用出現(xiàn)問題解決方法
- Jquery + Ajax調(diào)用webService實例代碼(asp.net)
- jQuery Ajax方法調(diào)用 Asp.Net WebService 的詳細(xì)實例代碼
- asp.net實現(xiàn)根據(jù)城市獲取天氣預(yù)報的方法
- ASP.net(c#)打造24小時天氣預(yù)報及實時天氣
- Python天氣預(yù)報采集器實現(xiàn)代碼(網(wǎng)頁爬蟲)
- 微信公眾平臺天氣預(yù)報功能開發(fā)
- ASP.NET使用WebService實現(xiàn)天氣預(yù)報功能
相關(guān)文章
如何解決Windows Vista中無法通過銳捷認(rèn)證上網(wǎng)的問題
如何解決Windows Vista中無法通過銳捷認(rèn)證上網(wǎng)的問題...2007-02-02解決Vista系統(tǒng)OpenGL驅(qū)動問題的方法整理
Vista下,有時候我們會十分需要使用OpenGL的顯示模式。例如,反恐精英這類FPS游戲。這個問題尤其在于ATI的顯卡上。我們經(jīng)常會看到這樣的提示“The specifier video mode is not supported.The game will now run in software mode.”既為OpenGL驅(qū)動程序無法初始化.2008-08-08如何在Windows Vista中預(yù)覽PDF文件的方法
如何在Windows Vista中預(yù)覽PDF文件的方法...2007-03-03在Windows Vista中找回舊版的驅(qū)動程序的方法
在Windows Vista中找回舊版的驅(qū)動程序的方法...2007-03-03