【问题标题】:Post thumbnails from external urls dont appear in blogger来自外部网址的帖子缩略图不会出现在博主中
【发布时间】:2016-02-18 00:50:29
【问题描述】:

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

我之前的模板从外部或 picasa url 生成缩略图,但我需要将模板更改为响应式模板,现在新模板只选择上传到 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 和其他一些图片的图像生成缩略图。但奇怪的是我的另一个模板运行良好。

提前感谢您的帮助。

【问题讨论】:

    标签: javascript html blogger


    【解决方案1】:

    您可以通过在最近的帖子列表代码中使用&lt;data:post.firstImageUrl/&gt; 标签而不是&lt;data:post.thumbnailUrl/&gt; 来解决此问题

    <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>
    

    &lt;data:post.firstImageUrl/&gt; 标记将返回 Picasa 托管图像以及外部图像。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 2020-06-08
      • 2015-01-19
      • 2011-11-01
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多