1

我想使用simpleweatherjs在我的网站上显示天气,但它不适合我。有人可以告诉我我做错了什么吗?页面为空白。如果我,例如在 $.simpleWeather({...}); 行之前 把$("#weather").html("test"),那么这句话就行了,但是在$.simpleWeather({...})下就不行了;就像它在示例中显示的那样。

这是我的html:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Weather</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.simpleWeather/2.5.0/jquery.simpleWeather.min.js"></script>
</head>
<body>

<div id="weather"></div>
<script>
// Docs at http://simpleweatherjs.com
$(document).ready(function() {
  $.simpleWeather({
    location: 'Austin, TX',
    woeid: '',
    unit: 'f',
    success: function(weather) {
      html = '<h2><i class="icon-'+weather.code+'"></i> '+weather.temp+'&deg;'+weather.units.temp+'</h2>';
      html += '<ul><li>'+weather.city+', '+weather.region+'</li>';
      html += '<li class="currently">'+weather.currently+'</li>';
      html += '<li>'+weather.wind.direction+' '+weather.wind.speed+' '+weather.units.speed+'</li></ul>';

      $("#weather").html(html);
    },
    error: function(error) {
      $("#weather").html('<p>'+error+'</p>');
    }
  });
});

</script>
</body>
4

3 回答 3

3

您是否从本地文件运行代码?即在浏览器中导航到 c:\html\test.html(或等效项)。

为我执行此操作时似乎也不起作用,但是当我将 HTML 文件托管在网络服务器上(我使用的是 tomcat)并导航到它时,http://localhost:8080/html/test/html它起作用了。

编辑:这可以解释为什么它在 JS Fiddle 上也能正常工作

于 2014-02-24T14:04:21.243 回答
1

尝试清除您的线路:

 <link rel="stylesheet" type="text/css" href="style.css">

也许那里隐藏着一些东西。

或/和更改线路:(如果您是本地人)

//query.yahooapis.com/v1/public/yql

  http://query.yahooapis.com/v1/public/yql
于 2014-02-24T13:44:30.020 回答
0

控制台错误说它无法加载

   //query.yahooapis.com/v1/public/yql.....

因此在 URL 前加上 http 或 https 之类的

    https://query.yahooapis.com/v1/public/yql.....
于 2014-08-11T07:44:55.117 回答