如何从 Json 中检索所有图像?

How To Retrieve All Images from Json?

如何获取post中的所有图像而不是最后一张图像?我用以下代码做错了什么?

<script src="http://imgtestblog.blogspot.com/feeds/posts/default?orderby=published&alt=json-in-script&callback=mytest"></script>

<script type='text/javascript'>
//<![CDATA[
function mytest(oneimage) {
    img = [];
    for (var PlusAllImages = "", i = 0; i < oneimage.feed.entry.length; i++) {
        var posttitle = oneimage.feed.entry[i],
            url;
        if (i == oneimage.feed.entry.length) break;
        for (var k = 0; k < posttitle.link.length; k++)
            if ("alternate" == posttitle.link[k].rel) {
                url = posttitle.link[k].href;
                break
            }
        img[i] = RetrieveAndGetallimages("content" in posttitle ? posttitle.content.$t : "summary" in blogggerposttitle ? posttitle.summary.$t : "");
        posttitle = posttitle.title.$t;
        i < oneimage.feed.entry.length && (PlusAllImages += '<div class="my-img"><h3>' + posttitle + '</h3><a title="' + posttitle + '" href="' + url + '">' + getallimages + "</a></div>")
    }
    document.write(PlusAllImages)
}

function RetrieveAndGetallimages(oneimage) {
    var PlusAllImages = document.createElement("div");
    PlusAllImages.innerHTML = oneimage;
    oneimage = PlusAllImages.getElementsByTagName("img");
    if (1 == oneimage.length) getallimages = '<img width="300" height="200" src="' + oneimage[0].src + '" />';
    else if (1 < oneimage.length)
        for (PlusAllImages = 0; PlusAllImages < oneimage.length; PlusAllImages++) getallimages = '<img width="300" height="200" src="' + oneimage[PlusAllImages].src + '" />';
    else getallimages = '<img width="300" height="200" src="https://upload.wikimedia.org/wikipedia/commons/a/ac/No_image_available.svg" />';
    return getallimages
};
//]]>
</script>

抱歉,我刚刚错过了输入代码,对此我感到非常抱歉。

您需要在 RetrieveAndGetallimages 函数中的 for 循环内进行更改 -

for (PlusAllImages = 0; PlusAllImages < oneimage.length; PlusAllImages++) getallimages += '<img width="300" height="200" src="' + oneimage[PlusAllImages].src + '" />';

您会注意到,我们使用加法 shorthand 将 for 循环中迭代的所有图像存储在 getallimages 变量中,而不是正常的赋值运算符(参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Addition_assignment