1
我使用google feed api進行實驗。基本上,我需要一個我的提要列表以及提要條目的一些信息,以便處理通常在谷歌閱讀器上不可用的歷史提要。我對谷歌飼料API的一種行爲感到困惑,我在下面的代碼中將其記錄爲註釋。因爲我是js的新手,所以我確定我沒有得到任何東西。Google feed api behavior
這是我的問題的代碼註釋:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" charset="UTF-8" >
google.load("feeds", "1");
/* Here I define the list of my feeds */
var feeds=['MYFEED1', 'MYFEED2', 'AND SO ON'];
function initialize() {
for (var j=0;j<feeds.length;j++) {
var feed = new google.feeds.Feed(feeds[j]);
feed.includeHistoricalEntries();
feed.setNumEntries(100);
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("out");
var furl = result.feed.feedUrl;
var flink = result.feed.link;
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
/* HERE IS WHERE I DON'T GET IT.
feeds[j] always just shows the last feed in the array.
But furl always shows the correct feedUrl
Though if I uncomment alert("NEXT") few lines below
thus giving a short pause, feeds[j] correctly
shows the same url as feedUrl. Why? */
div.appendChild(document.createTextNode(feeds[j]+" "
+furl+" "+flink+" "+ entry.link + " " + entry.title));
container.appendChild(div);
}
}
});
//alert("NEXT");
}
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body><div id="out" ></div>
</body>
</html>
此外,我想知道是否有通過查詢mysql數據庫設置飼料數組的值的方式。
謝謝哈里什,我想你的建議,將開始和結束的結束,但我沒有得到在瀏覽器上任何東西。只是空白。 – Gius
@Gius - 我不熟悉谷歌飼料api,但當我嘗試!result.error總是評估爲false,因此如果塊內部的代碼永遠不會執行,因此空白頁面。錯誤對象具有無效的url錯誤(代碼400)。 – Harish
但沒有關閉,這個錯誤沒有發生,謝謝。不是什麼大不了的事情,我只是感到困惑,但我認爲我理解你說的理由是異步 – Gius