QooQの関連記事の古い画像のURLをhttpsに対応させる

QooQのテンプレートに変更してから関連記事として付与しているラベル対応にて自動的にサムネイルが付くようになって便利ですが、ウチみたいにhttps非対応時代の古い記事も存在しているブログだと画像のソースURLがhttp://のままなので「混在するコンテンツのセキュリティ」に引っかかってしまいます。ブログ本文の画像やBloggerが純正で提供している各種ガジェット(人気の投稿、注目の投稿など)では自動的にURLが置換されるようですがテンプレート定義で出力している部分は元のままなので、Googleさん的には該当部分を更新せよとなっていますが対象も多く、また意味もなく記事の更新日付が変わってしまうのも何だかなぁと感じたので、ちょっとばかりテンプレート側で細工してみました。

ま、いちいち https://~ で始まるかと文字列を精査するのもダサぃので、ばっさりとプロトコル識別部をカットすることにしました。

以下の一文をMRP部分(関連記事)に追加です

r.thumbnail=r.thumbnail.slice(r.thumbnail.indexOf("://")+1);
indexOfの位置+1で画像が無い場合の代替を未定義な素のQooQでも-1 + 1 で0位置になるので大丈夫かと。

具体的にはこの部分に挿入します。
(若干、前後を弄ってありますが適宜各自の利用状況に合わせて読み替えてください)

<script>
//<![CDATA[
//mrp-v1.04
var relatedAry=new Array;function mrp_input(e){for(var t=0;t<e.feed.entry.length;t++){var r=new Object,n=e.feed.entry[t];r.title=n.title.$t;r.date=n.published.$t.substr(0,10).replace(/-/g, "/");try{r.thumbnail=n.media$thumbnail.url.replace(/\/s[0-9]+(-c)?/, "/s128-c")}catch(e){r.thumbnail="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge2dOG4Jh7uL2tSum4PuGz6GGalOmQqoLbZCp7sIkwB1W_mKZgiNmtbbW4PJDdzBVlRIxs-BtULuKgY-cVNtdejsewyHhaushyphenhyphenFGaFlxUEo88F0tkyp13cUeZWoUQjTTAJSRTox2fkmA1S/s128-c/no_image.jpg"}r.thumbnail=r.thumbnail.slice(r.thumbnail.indexOf("://")+1);for(var l=0;l<n.link.length;l++)if("alternate"==n.link[l].rel){r.link=n.link[l].href;break}for(var i=0,m=0;m<relatedAry.length;m++)if(r.link==relatedAry[m].link){i=1;break}i||relatedAry.push(r)}}function mrp_output(e){for(var t,r,n,l,a,i=mrpMax<relatedAry.length?mrpMax:relatedAry.length,d=document.getElementById("mrp-content"),m=[],s=0;m.push(s++)<relatedAry.length;);if(m=m.sort(function(){return Math.random()-.5}),relatedAry.length<=1)(a=document.createElement("p")).textContent="関連する記事はありません。",d.appendChild(a);else for(var p=0;p<i;p++)t=relatedAry[m[p]],mrpPosturl!=t.link&&((r=document.createElement("div")).setAttribute("class","mrp-post"),"noneImage"!=t.thumbnail&&((n=document.createElement("img")).setAttribute("src",t.thumbnail),n.setAttribute("class","mrp-post-img"),r.appendChild(n)),(a=document.createElement("p")).setAttribute("class","mrp-post-title"),a.textContent=t.title,r.appendChild(a),(b=document.createElement("div")).setAttribute("class","mrp-post-date"),b.textContent=t.date,r.appendChild(b),(l=document.createElement("a")).setAttribute("href",t.link),l.setAttribute("class","mrp-post-link"),r.appendChild(l),d.appendChild(r))}
//]]>
</script>

2021/08/18

Posted by まゆみ.H
X f B! P L

Search (in blogs)

Featured

今も続くアバターの身長問題。身長=158cmは子供ですか、そーですか。

もともとリアルサイズなアバター故にアジア圏以外が主催のSIMなどでは低身長として扱われることも少なくなかったのですが、さほど気にせず自分の好みの見た目として楽しんでいました。ところが、先日、とあるSIMを訪問した時に「身長が5フィート以下だから子供は帰りなさい」というメッ...

Picks

クリエイティブ・コモンズ・ライセンス

template by QooQ