0
私はJavascriptを使用しています。 API google(このリンク:http://www.javascriptkit.com/dhtmltutors/googleajaxfeed.shtml)でRSSデータを取得し、データを配列(グローバル変数)に挿入します。しかし、私のグローバル変数はデータを保存できません。 rssfeedsetup()関数内RSSデータをグローバル変数にロード
、ARR_DATA(グローバル配列)は、データを持っています。ただし、ロード後にrssfeedsetup()関数、ARR_DATAにデータがありません。
この場合、グローバル変数にデータを挿入する方法を教えてください。
マイコード: ヘッド:
<head>
<title>TEST API FEED RSS</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="http://www.google.com/jsapi">
</script>
<script type="text/javascript">
google.load("feeds", "1"); //Load Google Ajax Feed API (version 1)
</script>
</head>
ボディ:
<body>
<div id="feeddiv"></div>
<script type="text/javascript">
var ARR_DATA = []; // **I want to insert data into this array**
var feedurl = "http://rss.slashdot.org/Slashdot/slashdot";
var feedlimit = 4;
function rssfeedsetup() {
var feedpointer = new google.feeds.Feed(feedurl); //Google Feed API method
feedpointer.setNumEntries(feedlimit); //Google Feed API method
feedpointer.load(displayfeed); //Google Feed API method
}
function displayfeed(result) {
if (!result.error) {
var thefeeds = result.feed.entries;
var arr_Temporary = [];
for (var i = 0; i < thefeeds.length; i++) {
arr_Temporary[0] = thefeeds[i].title;
arr_Temporary[1] = thefeeds[i].link;
// insert RSS data into ARR_DATA.
ARR_DATA.push(arr_Temporary);
console.log('value before:', ARR_DATA); // check value of ARR_DATA, there have data exist.
}
}
}
window.onload = function() {
rssfeedsetup(); // call function
console.log('value2 after:', ARR_DATA); // check value of ARR_DATA, there is no data.
};
console.log('value2 after:', ARR_DATA); //check value of ARR_DATA, there is no data.
</script>
</body>
私が持っている価値コンソール: image of firebug on firefox
シモンズ:ARR_DATAは無負荷機能rssfeedsetup後のデータが含まれているのはなぜ( )?
を役に立てば幸い負荷feedrsssetup()関数の後、ARR_DATAは、まだデータがない、ありがとうございました。 – vtking
フィードモジュールをロードする前に使用している可能性があります。あなたがここに書かれている場合、https://developers.google.com/feed/v1/devguideを見ると、rssモジュールを必要とした後でwindows.loadのrssfeedsetup()関数を呼び出すのではなく、このコードを使用します:google.load( "feeds"、 "1"); google.setOnLoadCallback(rssfeedsetup); –
ええ、大変申し訳ありません!大変ありがとうございました!私はあなたの答えを受け入れるためにクリックして、私の解決策を見つけるのに最も役立った。 – vtking