来自外部网址的帖子缩略图不会显示在 Blogger 中



有没有办法让博主从图像(已经是帖子的一部分)中获取外部网址,以便它可以生成缩略图?

我之前使用的模板从外部或 picasa 网址生成缩略图,但我需要更改模板以获得响应式模板,现在新模板仅选择上传到 picasa 的图像来生成缩略图。

以下是最近帖子列表的一部分代码:

<b:if cond='data:post.thumbnailUrl'>
                        <a class='wdxthumb' expr:href='data:post.url' expr:title='data:post.title'>
                          <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl'/>
                        </a>
                        <b:else/>
                        <a class='wdxthumb' expr:href='data:post.url' expr:title='data:post.title'>
                          <img alt='no image' class='post-thumbnail' src='https://lh3.googleusercontent.com/-VnJqhx42r-c/UfFWlD-sF_I/AAAAAAAAAQI/rT3sYPba2dY/s271-Ic42/logo3.jpg'/>
                        </a>
                      </b:if>

相关帖子(在帖子页面中)也有同样的问题,这次是javascript:

<script type = 'text/javascript'>
var relnojudul = 0;
var relmaxtampil = 6;
var numchars = 100;
var reljudul = new Array();
var relurls = new Array();
var relcuplikan = new Array();
var relgambar = new Array();
function saringtags(g, h) {
  var e = g.split("<");
  for (var f = 0; f < e.length; f++) {
    if (e[f].indexOf(">") != -1) {
      e[f] = e[f].substring(e[f].indexOf(">") + 1, e[f].length)
    }
  }
  e = e.join("");
  e = e.substring(0, h - 1);
  return e
}
function relpostimgcuplik(h) {
  for (var e = 0; e < h.feed.entry.length; e++) {
    var g = h.feed.entry[e];
    reljudul[relnojudul] = g.title.$t;
    postcontent = "";
    if ("content" in g) {
      postcontent = g.content.$t
    } else {
      if ("summary" in g) {
        postcontent = g.summary.$t
      }
    }
    relcuplikan[relnojudul] = saringtags(postcontent, numchars);
    if ("media$thumbnail" in g) {
      postimg = g.media$thumbnail.url
    } else {
      postimg = "https://lh3.googleusercontent.com/-VnJqhx42r-c/UfFWlD-sF_I/AAAAAAAAAQI/rT3sYPba2dY/s271-Ic42/logo3.jpg"
    }
    relgambar[relnojudul] = postimg;
    for (var f = 0; f < g.link.length; f++) {
      if (g.link[f].rel == "alternate") {
        relurls[relnojudul] = g.link[f].href;
        break
      }
    }
    relnojudul++
  }
}
function contains(a, e) {
  for (var f = 0; f < a.length; f++) {
    if (a[f] == e) {
      return true
    }
  }
  return false
}
function artikelterkait() {
  var v = new Array(0);
  var w = new Array(0);
  var x = new Array(0);
  var A = new Array(0);
  for (var u = 0; u < relurls.length; u++) {
    if (!contains(v, relurls[u])) {
      v.length += 1;
      v[v.length - 1] = relurls[u];
      w.length += 1;
      w[w.length - 1] = reljudul[u];
      x.length += 1;
      x[x.length - 1] = relcuplikan[u];
      A.length += 1;
      A[A.length - 1] = relgambar[u]
    }
  }
  reljudul = w;
  relurls = v;
  relcuplikan = x;
  relgambar = A;
  for (var u = 0; u < reljudul.length; u++) {
    var B = Math.floor((reljudul.length - 1) * Math.random());
    var i = reljudul[u];
    var s = relurls[u];
    var y = relcuplikan[u];
    var C = relgambar[u];
    reljudul[u] = reljudul[B];
    relurls[u] = relurls[B];
    relcuplikan[u] = relcuplikan[B];
    relgambar[u] = relgambar[B];
    reljudul[B] = i;
    relurls[B] = s;
    relcuplikan[B] = y;
    relgambar[B] = C
  }
  var r = 0;
  var D = Math.floor((reljudul.length - 1) * Math.random());
  var z = D;
  var q;
  var t = document.URL;
  while (r < relmaxtampil) {
    if (relurls[D] != t) {
      q = "<li class='news-title clearfix'>";
      q += "<a href='" + relurls[D] + "' rel='nofollow' target='_top' title='" + reljudul[D] + "'><div class='overlayb'></div><img src='" + relgambar[D] + "' /></a>";
      q += "<a class='relinkjdulx' href='" + relurls[D] + "' target='_top'>" + reljudul[D] + "</a>";
      q += "<span class='news-text'>" + relcuplikan[D] + "</span>";
      q += "</li>";
      document.write(q);
      r++;
      if (r == relmaxtampil) {
        break
      }
    }
    if (D < reljudul.length - 1) {
      D++
    } else {
      D = 0
    } if (D == z) {
      break
    }
  }
};
</script>

它也发生在热门列表、通知和主页底部的其他 4 个小部件上。您可以在此处看到问题:hondanewspot.com

在整个互联网上,我能找到的唯一解释是博主只从上传到 picasa 和其他一些图像的图像中生成缩略图。但奇怪的是,我的另一个模板工作正常。

提前感谢任何帮助。

您可以通过

在最近帖子列表代码中使用<data:post.firstImageUrl/>标记而不是<data:post.thumbnailUrl/>来解决此问题

<b:if cond='data:post.firstImageUrl'>
    <a class='wdxthumb' expr:href='data:post.url' expr:title='data:post.title'>
        <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.firstImageUrl'/>
    </a>
    <b:else/>
    <a class='wdxthumb' expr:href='data:post.url' expr:title='data:post.title'>
        <img alt='no image' class='post-thumbnail' src='https://lh3.googleusercontent.com/-VnJqhx42r-c/UfFWlD-sF_I/AAAAAAAAAQI/rT3sYPba2dY/s271-Ic42/logo3.jpg'/>
    </a>
</b:if>

<data:post.firstImageUrl/>标签将同时返回 Picasa 托管图像以及外部图像。

对于相关的帖子小部件,您必须更改代码以从 HTML 响应中解析出图像 URL,以防图像未上传到 Picasa 存储

最新更新