Vista天气预报--修正不显示中国天气预报的BUG
作者:
Vista天气预报--修正不显示中国天气预报的BUG
经过努力,修改了weather.js文件,可以获得中国的天气预报了!
之前已经由朋友说过,中国地区不能使用天气预报,是因为wlsrvc.dll文件检测到区域设置为中国,就返回1506,提示"您当前所在国家或地区不支持此服务。"
其实如果我们直接在浏览器中输入地址是可以返回中国地区的天气预报的,因此我们可以绕过这个dll文件,自己修改脚本直接获取信息。
我们可以通过Microsoft.XMLDOM来获取网上的xml数据,然后把里面的数据解析到一个类中,返回给原来的脚本显示出来。
为了减少工作量,我尽量减少原来代码的修改,只是添加了一些新代码,并修改几个必要的地方,在我的机器上试验成功,理论上应该x86和x64是通用的。
由于我对Javascript研究不深,代码可能有相当的冗余,各位可以自己按需要修改,不过要注意:想自己修改两个脚本,需要首先获得两个文件的所有权,获取方法请参考论坛上其他文章。另外,大家也可以对其进行汉化,把里面的字符串换成中文就行了,不过星期要自己写一个函数替换掉。
使用方法:
下载压缩包文件后,解压到
X:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget\zh-CN\js
覆盖原来的(建议先备份)。其中X为系统盘
对于字体问题请修改
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;
字体就变为雅黑了,而且显示问题也解决了
另外,关于显示三天天气预报问题,请把它拖出边栏就可以了!
相关下载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;
}
由于中国城市太多如果全都加进去话,工作量太大,请朋友们自已添加吧!!
相关下载2
之前已经由朋友说过,中国地区不能使用天气预报,是因为wlsrvc.dll文件检测到区域设置为中国,就返回1506,提示"您当前所在国家或地区不支持此服务。"
其实如果我们直接在浏览器中输入地址是可以返回中国地区的天气预报的,因此我们可以绕过这个dll文件,自己修改脚本直接获取信息。
我们可以通过Microsoft.XMLDOM来获取网上的xml数据,然后把里面的数据解析到一个类中,返回给原来的脚本显示出来。
为了减少工作量,我尽量减少原来代码的修改,只是添加了一些新代码,并修改几个必要的地方,在我的机器上试验成功,理论上应该x86和x64是通用的。
由于我对Javascript研究不深,代码可能有相当的冗余,各位可以自己按需要修改,不过要注意:想自己修改两个脚本,需要首先获得两个文件的所有权,获取方法请参考论坛上其他文章。另外,大家也可以对其进行汉化,把里面的字符串换成中文就行了,不过星期要自己写一个函数替换掉。
使用方法:
下载压缩包文件后,解压到
X:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget\zh-CN\js
覆盖原来的(建议先备份)。其中X为系统盘
对于字体问题请修改
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;
字体就变为雅黑了,而且显示问题也解决了
另外,关于显示三天天气预报问题,请把它拖出边栏就可以了!
相关下载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;
}
由于中国城市太多如果全都加进去话,工作量太大,请朋友们自已添加吧!!
相关下载2
您可能感兴趣的文章:
- 使用ASP.NET一般处理程序或WebService返回JSON的实现代码
- asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)
- asp.net类库中添加WebService引用出现问题解决方法
- Jquery + Ajax调用webService实例代码(asp.net)
- jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
- asp.net实现根据城市获取天气预报的方法
- ASP.net(c#)打造24小时天气预报及实时天气
- Python天气预报采集器实现代码(网页爬虫)
- 微信公众平台天气预报功能开发
- ASP.NET使用WebService实现天气预报功能