1

我无法使用 Google Feed API 加载图像,我正在使用 mediaGroup 加载图像。

这是我为获取提要而编写的 javascript 代码

<script type="text/javascript">

google.load("feeds", "1");
function initialize() 
   {
    var feed = new google.feeds.Feed("http://techzei.com/feed");
    feed.setNumEntries(14);
    feed.load(function (result) {
        if (!result.error) 
        {
            result.feed.entries.forEach(function(entry)
            {
              $('#feed').append('<div class="card"><a href="' + entry.link + '">' + entry.title + '</a><p>' + entry.contentSnippet + '</p><br><p>'+entry.publishedDate+'"<img src="'+ entry.mediaGroups+'"/></div>');
            });
        }
    });
}
google.setOnLoadCallback(initialize);

html

<article id="feed"></article>

我现在得到的所有图像都是“未定义的”。我应该做点别的吗?Google Feed API 开发人员对此并没有给出太多说明

4

1 回答 1

2

该提要似乎没有任何mediaGroup条目,这就是您在结果中未定义的原因,但您可以从entry.content使用 jQuery 中提取图像。

将图像 url 放入数组并显示第一个找到的图像(或无):

var content = document.createElement("content");
content.innerHTML = entry.content;                   
var images = $(content).find('img').map(function(){
    return $(this).attr('src')
}).get();
$('#feed').append('<div class="card"><a href="' + entry.link + '">' +
    entry.title + '</a><p>' + entry.contentSnippet + '</p><br><p>'+ 
    entry.publishedDate +'</p>' + 
    (images.length == 0 ? '' :'<img src="'+ images[0] +'"/>') + '</div>');

通过将 img 标签附加到变量来显示所有图像:

var content = document.createElement("content");
content.innerHTML = entry.content;
var images = "";
$(content).find('img').each(function() {  
    images += this.outerHTML;
}); 
$('#feed').append('<div class="card"><a href="' + entry.link + '">' +
    entry.title + '</a><p>' + entry.contentSnippet + '</p><br><p>' +
    entry.publishedDate + '</p>' + images +'</div>');
于 2014-10-14T20:05:42.703 回答