0
我尝试使用google feed api构建一个url检查器。
Jquery - 网址检查器(rss,音频或视频播客)
我的问题:
1:的if(result)
检查不起作用。也许是异步问题?
2:任何想法的RSS,音频/视频播客检查?我敢肯定,我得到了响应的音频/视频文件的URL(但我现在是盲目的)。
我的想法是检查这个网址。
// somthing like that
if(typeof xxxx == 'undefined') -> rss feed
if xxxx.match(/mp3|wav|XXX/gi) -> audio feed
if xxxx.match(/mpg|avi|flv/gi) -> video feed
JS
$(document).ready(function()
{
// valid rss feed
var result = urlCheck('http://www.bild.de/rssfeeds/vw-home/vw-home-16725562,short=1,sort=1,view=rss2.bild.xml');
if(result){ console.warn('result1 is a '+result.urlIsA+' '); console.dir(result); }
// valid video podcast
var result = urlCheck('http://www.tagesschau.de/export/video-podcast/webl/tagesschau/');
if(result){ console.warn('result1 is a '+result.urlIsA+' '); console.dir(result); }
// valid audio podcast
var result = urlCheck('http://chaosradio.ccc.de/chaosradio-latest.rss');
if(result){ console.warn('result1 is a '+result.urlIsA+' '); console.dir(result); }
});
function urlCheck(url)
{
var feed = new google.feeds.Feed(url);
feed.setResultFormat(google.feeds.Feed.MIXED_FORMAT);
feed.setNumEntries('1');
feed.load(function(result)
{
if (!result.error)
{
var allEntries = result.feed.entries;
console.info(url);
console.dir(allEntries);
/* if(XXX.match(/XXXX/,gi)) {
allEntries.urlIsA = 'rss feed';
return allEntries;
}
if(XXX.match(/XXXX/,gi)) {
allEntries.urlIsA = 'audio podcast';
return allEntries;
}
if(XXX.match(/XXXX/,gi)) {
allEntries.urlIsA = 'video podcast';
return allEntries;
} */
return false;
}
else { return false; }
});
}
工作实例
http://jsbin.com/unikak/edit#javascript,html
通知:你必须复制代码放在* .html文件中,否则会从jsBin中得到错误
google.feeds.Feed is not a constructor
谢谢,作品很棒:)。顺便说一句,你知道媒体文件的链接在哪里吗?它必须在xmlNode中,对吗? – Peter
请参阅树结构的文档:http://code.google.com/intl/nl/apis/feed/v1/devguide.html#resultXml –