2016-02-18 14 views
1

有沒有辦法讓博客從圖像中獲取外部網址(這已經是帖子的一部分),因此它可以生成縮略圖?從外部網址發佈縮略圖不會出現在博主

我之前從外部或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>

它也發生在熱門列表,Notícias和主頁底部的其他4個窗口小部件上。 你可以在這裏看到問題:hondanewspot.com

通過互聯網唯一的解釋我可以找到的是,博主只能從上傳到picasa和其他一些圖片生成縮略圖。但奇怪的是,我的其他模板運行良好。

在此先感謝您的幫助。

回答

0

您可以通過使用<data:post.firstImageUrl/>標籤,而不是<data:post.thumbnailUrl/>在reccent帖子列表代碼

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