如何从 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)
如何获取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)