我想要定期閱讀兩個Rss訂閱源網址,並在我的Android應用程序中顯示最新的訂閱源標題作爲通知。使用javascript解析Rss訂閱源的問題
由於setinterval函數每8000毫秒被調用一次,我想確保沒有相同標題的重複通知。
當我做getrss功能,我能看到XML對象內的console.log,但 我無法看到被輸出爲VAR XML,VAR進入或VAR標題任何數據。 Plese指出我可能會繼續。
/* ---------------------- global variables ---------------------- */
var Rss1_title;
var Rss2_title;
/* ---------------------- end global variables------------------- */
/* --------- pull latest Rss feed title for first url: ---------- */
function update_rss1_feeds(){
var new_title = getRss("http://yofreesamples.com/category/real-freebies/feed/");
if(Rss1_title != new_title)
//display the notification
navigator.notification.alert(
new_title, // message
'New Rss Entry', // title
'New Rss Entry' // buttonName
);
Rss1_title = new_title;
}
/* --------- end : --------- */
/* --------- pull latest Rss feed title for second url: --------- */
function update_rss2_feeds(){
var new_title = getRss("http://yofreesamples.com/category/free-coupons/feed/");
if(Rss2_title != new_title)
//display the notification
navigator.notification.alert(
new_title, // message
'New Rss Entry', // title
'New Rss Entry' // buttonName
);
Rss2_title = new_title;
}
/* --------- end : --------- */
這是getrss功能是我解析RSS提要。我可能會在這裏做錯事。
function getRss(url){
if(url == null) return false;
// Create Google Feed API address
var api = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=" + encodeURIComponent(url);
api += "&output=json_xml"
var newEntry;
// Send request
$.getJSON(api, function(data){
console.log('testdata',data); // the response is xmlobjest
// Check for error
if (data.responseStatus == 200) {
var feeds = data.responseData.feed;
if (!feeds) {
return false;
}
// Get XML data for media (parseXML not used as requires 1.5+)
var xml = getXMLDocument(data.xmlString);
var xmlEntries = xml.getElementsByTagName('item');
var entry = feeds.entries[0];
var title = entry.title;
console.log('test',title); // it is not being displayed , it seems its not going inside the if statement
return title;
}else {
};
});
}
這是函數調用。
setInterval('update_rss1_feeds()',7000);
setInterval('update_rss2_feeds()',8000);
它becouse你編程技巧水平...首先data.responseData可以是!= 200或data.responseData.feed == null ...函數(數據)中的第二個返回語句不會從函數getRss返回... – Selvin
是的,我知道但我的問題是當我這樣做一個console.log(標題);我無法看到輸出。感謝您解釋data.responseData,我仍在學習javascript。但是在我的情況下是nt == 200。 –
Becouse console.log(標題)永遠不會被調用...爲什麼...很難說沒有testdata控制檯輸出... – Selvin