Ich benutze Javascript. Ich möchte RSS-Daten über API google (diesen Link: http://www.javascriptkit.com/dhtmltutors/googleajaxfeed.shtml), dann fügen Sie die Daten in ein Array (Globale Variable). Aber meine globale Variable kann keine Daten speichern.Load RSS-Daten in globale Variable
Innen rssfeedsetup() Funktion, ARR_DATA (globalen Array) haben Daten. Nach dem Laden rssfeedsetup() Funktion haben ARR_DATA keine Daten.
Bitte zeigen Sie mir, wie Sie in diesem Fall Daten in globale Variable einfügen.
Mein Code: Kopf:
<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>
Körper:
<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>
Ich habe Wert Konsole bekam: image of firebug on firefox
Ps: Warum ARR_DATA keine Daten nach Ladefunktion rssfeedsetup enthalten ()
Ihnen danken, nachdem Last feedrsssetup() Funktion, ARR_DATA haben noch keine Daten. – vtking
Sie versuchen wahrscheinlich, das Feed-Modul vor dem Laden zu verwenden. Wenn Sie der Dokumentation hier folgen: https://developers.google.com/feed/v1/devguide, sehen Sie, dass Sie die rssfeedsetup() - Funktion in windows.load aufrufen müssen, nachdem Sie das rss-Modul benötigt haben. mit diesem Code: google.load ("feeds", "1"); google.setOnLoadCallback (rssfeedsetup); –
Ja, große Idee! Danke für GROSSE IDEE! Ich akzeptiere, dass Ihre Antwort am hilfreichsten war, um meine Lösung zu finden. – vtking