2011年8月25日木曜日
BloggerでReadMoreを自動でつける
Read More(もっと読む:続きを読む)を使って折りたたみ表示させるには、記事作成中にパレットの「追記の区切りを挿入」ボタンをクリックして区切りを挿入すれば良いわけですが・・・
面倒なのよね、正直。
しかも、ほかの記事とのバランス考えながら、丁度良い位置にピンポイントで区切りを挿入させるなんて・・・
ズボラな私にはストレス。
そんなわけでこれまでは、海の向こうの賢い方が作られたscriptをお借りして自動的に折りたたみ、ついでにサムネイルもつけていたわけですが、今日ブログを見てみたら、全文表示になってるじゃないの!!
理由は簡単、そのscriptを読み込めなくなったから。
なぜって?
それは・・・
海の向こうの賢者がそのコードを消しやがったから。
賢者よ、消すなら先に告知してくれてもよかろうに(ーー;)
借り物はこういうことがあるから気をつけないといけませんね。
新たな借り物を探そうとも思ったのですが、また消されても面倒なので、自動でReadMoreをつけるスクリプトを自分のhtml内に格納する事にしました。
Cat Flap / stephenhanafin
まず、</head>の後ろ(2011/12/15訂正。正しくは)前に下記コードを挿入。
scriptは<head>~</head>か<body>~</body>の中に書きましょう。
<script type='text/javascript'>var thumbnail_mode = "no-float" ;
summary_noimg = 430;
summary_img = 340;
img_thumb_height = 100;
img_thumb_width = 120;
</script>
<script type='text/javascript'>
//<![CDATA[
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length>=1) {
imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>';
summ = summary_img;
}
var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
div.innerHTML = summary;
}
//]]>
</script>
そして、<data:post.body>を下記コードに置き換えます。
<b:if cond='data:blog.pageType == "static_page"'><br/>
<data:post.body/>
<b:else/>
<b:if cond='data:blog.pageType != "item"'>
<div expr:id='"summary" + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");
</script> <span class='rmlink' style='float:right;padding-top:20px;'><a expr:href='data:post.url'> read more "<data:post.title/>"</a></span>
</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>
</b:if>
不定期更新のブログだし、用もないのに自分のブログを見ることなんて殆どない私。
たまたま今日気がついたけど・・・いつからこうなっていたのかしら(^_^;)
これでもう、放置しても無問題♪
************
2 コメント♪:
readmoreのやりかた、非常に参考になりました。
2011年12月14日 16:06ナイス記事、ありがとうございました!
茄子さん こんにちは♪
2011年12月15日 16:18>ナイス記事、ありがとうございました!
とんでもないです。こちらこそ、記載ミスに気付かせて頂いて本当にありがとうございました!!
それにしても・・・何で私、前と後ろ間違えたんだろ(^_^;)
自分の脳みそが一番理解不能です(笑)
コメントを投稿