`
fugary
  • 浏览: 8421 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用腾讯天气异步获取天气预报

阅读更多

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var getNJWeather = function(){
    var mainBox = dojo.byId('portal_weather');
    mainBox.innerHTML="正在加载天气信息,请稍候...";
    var jsonpArgs = {
        //地址
        url:  'http://weather.news.qq.com/js/gn_24.js',
        //超时时间
        timeout: 10000,
        //阻止缓存
        preventCache: true,
        load: function(data) {
            if(data){
                var weather = v.find("南京").w;
                if(weather){
                    weather = weather.replace(/城市:|\<br\/>|天气:|温度:|风力:/g," ");
                    mainBox.innerHTML = weather;
                }else{
                    mainBox.innerHTML = "加载的天气信息有误";
                }
          }else{
              mainBox.innerHTML = "没有加载到天气信息";
          }
       },
       error: function(error) {
          mainBox.innerHTML = "加载天气信息超时";
       }
    };
    //使用dojo的jsonp调用
    dojo.io.script.get(jsonpArgs);
 };
 dojo.addOnLoad(function(){
    getNJWeather();
 });

上面代码可能在实际使用的时候会有问题【在ie7及以下浏览器浏览时不正常】,因为dojo.io.script.get使用了utf-8编码,而腾讯的js使用的是gb2312编码
解决方式可以先用服务端程序去读到js,然后解析成utf-8编码,供自己调用
还可以改造dojo.io.script.get方式,使他可以使用gb2312编码的js
其实可以算是dojo的一个bug,它把编码在dojo.io.script.attach函数里面写死成了utf-8,可以重写方法把编码写成可以配置状态

分享到:
评论

相关推荐

    抓取腾讯首页天气预报.rar

    4. **AJAX请求**:许多现代网页使用AJAX技术异步更新内容,天气预报数据可能通过这样的请求获取。学习如何分析和模仿这些请求(使用浏览器开发者工具或Python的`requests`库)是必要的。 5. **JSON数据处理**:天气...

    天气预报案例Android

    在这个案例中,开发者可能选择了其中的一种或几种来实现从百度APIStore获取天气预报数据。网络请求通常需要处理异步操作,避免阻塞主线程,可以使用AsyncTask、Handler、RxJava或者现在更推荐的Coroutines进行异步...

    仿腾讯随IP地址变化的天气预报代码.rar

    这是一个关于使用JavaScript实现的动态天气预报代码示例,主要目标是模拟腾讯网站上根据用户IP自动显示当地天气的功能。在互联网应用中,这样的功能能够提供用户便利,无需手动输入地理位置,即可快速查看本地天气...

    根据IP地址变化的天气预报代码 模仿腾讯天气预报效果.zip

    为了创建类似腾讯天气预报的视觉效果,可能会使用CSS来设计动画,比如滑动显示天气变化,或者使用SVG图标来表示不同的天气状况。 此外,考虑到用户隐私和API调用限制,项目中可能还包含了错误处理机制,比如当用户...

    jQuery天气预报查询代码.zip

    在这里,它被用来获取城市的经纬度信息,这些信息是请求天气预报数据的关键。通过调用高德地图的地理位置服务,我们可以根据用户输入的城市名获取准确的地理位置,进一步获取对应的天气信息。 三、HTML源码 HTML...

    天气预报iOS版

    2. **网络请求**:为了获取天气预报,应用需要向提供天气数据的服务器发送HTTP或HTTPS请求。这可以通过使用Apple的`NSURLSession`或者第三方库如`Alamofire`来实现。在iOS中,网络请求通常涉及异步编程,以避免阻塞...

    Android 天气demo

    【Android 天气demo】是一款集天气预报、公交查询及资讯阅读于一体的Android客户端应用。它具备自动定位功能,能够实时获取用户所在城市的天气信息,并且提供了分享和TTS(Text To Speech,文本转语音)播报的功能,...

    天气预报小程序.rar

    在技术实现上,【天气预报小程序】采用了微信小程序的开发框架,该框架由腾讯公司推出,旨在降低移动应用的开发门槛,让开发者能够快速构建轻量级、跨平台的应用。它结合了HTML5、CSS和JavaScript的技术特性,提供了...

    Ajax 通过城市名获取数据(全国天气预报API)

    在本文中,我们将深入探讨如何使用Ajax技术通过城市名获取全国天气预报数据,结合聚合数据提供的API接口。首先,我们要了解Ajax(异步JavaScript和XML)的核心原理,它允许我们在不刷新整个网页的情况下与服务器进行...

    .net获取一周天气demo

    2. **API接口**:获取天气信息通常需要使用第三方天气预报API,如OpenWeatherMap、AccuWeather等。这些服务提供JSON或XML格式的天气数据,你需要注册并获取API密钥,然后在请求中携带这个密钥。 3. **数据解析**:...

    微信小程序精品demo:和风天气:天气API,设置城市;适用1122.zip

    "和风天气"可能使用了`picker`组件来实现城市选择,以及`swiper`组件展示天气预报。 8. **样式设计**:WXSS类似于CSS,但有其特性和限制。开发者需要熟悉微信小程序的样式规则,如作用域隔离、单位转换等,以实现...

    Android-RxJavaRetrofitMVP的阅读类APP包含新闻资讯知乎豆瓣历史上的今天聊天机器人城市天气五个模块

    8. **城市天气模块**: 该模块可能利用第三方天气API获取全球城市的实时和未来天气预报,用户可以查询不同地区的天气情况,方便出行。 9. **文件名称"HiReader-master"**: 这表明项目源代码的主分支名为"HiReader",...

    js.rar_js文件

    其中提到了腾讯的天气预报JS,这意味着可能有一个或多个文件专门用于获取和展示天气预报信息,这通常涉及到网络请求、数据解析和动态UI更新等技术。 1. **网络请求**:JavaScript可以通过XMLHttpRequest或更现代的...

    网页嵌入资源

    这些资源可以包括天气预报、新闻更新等实时信息,将它们直接整合到网页中,使得用户无需离开当前页面就能获取最新的资讯,增强了网页的实效性和吸引力。 天气预报嵌入是网页设计中的一种实用功能,通常通过API...

    CSS3天气预报APP应用UI界面

    在这个天气预报应用中,JavaScript可能负责从服务器获取天气数据,并将其动态显示在界面上。此外,还可能涉及AJAX(Asynchronous JavaScript and XML)技术,用于在不刷新整个页面的情况下更新部分内容。 【css样式...

    Asp.net房产采集系统Ajax版源码

    在Asp.Net房产采集系统中,Ajax主要通过创建XMLHttpRequest对象并利用JavaScript调用来实现后台数据的异步获取,同时更新DOM(文档对象模型)元素,以此达到页面局部刷新的效果。 房产信息的采集部分,可能是通过...

    在Windows 8中使用web service的例子

    在Windows 8操作系统中,开发人员可以利用Web Service来实现应用程序与远程服务器之间的数据...通过这种方式,开发者可以为Windows 8应用增添丰富的功能,如获取天气预报、新闻资讯等,从而提升应用的价值和用户体验。

    智慧北京android项目代码

    开发者可能使用了Android的内置库,如Gson或Jackson,来解析和序列化JSON数据,以便与服务器进行数据交互,实现功能如获取新闻资讯、天气预报等。 在智慧北京这样的应用中,常见的功能可能包括: 1. **定位服务**...

    ajax 70demo

    - 天气预报:获取NOAA提供的7天天气预报数据。 - **技术要点**: - 通过AJAX实现前后端的数据交互。 - SOAP用于远程服务调用。 ##### 8. Ajax Feed TV: News feed - **功能介绍**:新闻聚合应用,支持多种新闻...

Global site tag (gtag.js) - Google Analytics