1

私の質問は、event.content の結果から文字列を作成する必要があるということです。Event.content は、html タグを含むエントリを返します。container.innerHTML = event.content のように使用できます。event.content が文字列として必要です。私はこのようなことをしようとしました:

var a = '' + event.content;

しかし、うまくいきません。ここで event.content の結果:

<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 &deg; F. For more details?

これをJavaScriptで文字列に変換できません。出来ますか?String(event.content) も試しました。わかりました、コード全体を入れます。

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>  
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
<title>Hava Durumu</title>  

 <script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">

  google.load("feeds", "1");
function havabas(){

   var feed = new google.feeds.Feed("http://rss.weather.com/weather/rss/local/TUXX0014? cm_ven=LWO&cm_cat=rss&par=LWO_rss");
  feed.load(function(result) {
    if (!result.error) {
        var entry = result.feed.entries[0];
        var container = document.getElementById("weather");
        var c = entry.content;

        var regex = /<img.*?src="(.*?)".*?>.*?([0-9]+\s*&deg;)/;
        var results = regex.exec(entry.content);
        var html = '<img src= ' + results[1] + ' alt="" /> ' + results[2];

      container.innerHTML = html;

    }
  });
}

function initialize() {
havabas();
setInterval(function(){havabas()},2000);
}
google.setOnLoadCallback(initialize);

</script>
</head>
<body>
<div id="weather"></div>
</body>
</html>
4

3 に答える 3

1

正規表現が無効です。からの文字列と一致しませんentry.content。その理由は&deg;. コードを次のように変更します。

var regex = /<img.*?src="(.*?)".*?>.*?([0-9]+)/;
var results = regex.exec(entry.content);
var html = '<img src= ' + results[1] + ' alt="" /> ' + results[2] + ' &deg;';

デモ

于 2012-07-25T13:30:18.480 に答える
0

おそらく、バックラッシュで単一引用符または二重引用符をエスケープするのを忘れましたか? これは有効な文字列です -

var string="<img src=\"http://image.weather.com/web/common/wxicons/31/30.gif?12122006\"     alt=\"\" />Partly Cloudy, and 84 &deg; F. For more details?";
于 2012-07-25T13:12:34.703 に答える
-1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script>
function get1()
{

var i='<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 &deg; F. For more details?';
var j='\'' +i+ '\'';
alert(j);
}
</script>
<BODY onload='get1();'>

</BODY>
</HTML>

これを試してください

于 2012-07-25T13:31:09.430 に答える