[ココログ] はてなスターを記事別ページにも(ついでにフッターにも)
バカンスで二週間いない間に Hatena Inc. が始動してました。で、その第一弾の「はてなスター」ですが、ココログベーシックやココログフリーなどでの設置方法はどうするんだろうと思ったら、以下のページに簡潔にまとまってました。
リンク: 別館 - はてなスターをココログに設置してみる.
結局、この前のバージョンアップで記事タイトルのところがリンクになったおかげで、特に何もしなくても、ブログ登録時に生成されるコードをそのままマイリストのメモ欄に貼り付けるだけでスターがついてくれる、ということのようですね。
▼
しかし、ココログでは、記事タイトルがリンクになっているのはトップページやカテゴリ、バックナンバーなどのページだけで、記事別ページ(Permalink/固定リンク先)の記事タイトルはリンクになっていないので、そのままでは記事別ページにスター追加ボタンが表示されません。
ということで、記事別ページの記事タイトルにもつくようにしてみました。
ついでに、スターは普通、記事を読んだ後に押すんじゃないだろうかと思ったので、記事フッターにもボタンがつくようにしてみました。
▼設置方法
上記リンク先(「別館」さんの記事)と同様ですが、ちょっと追加します。
1. はてなスターユーザーページで自ブログを登録(はてなスター日記参照)
2. 生成されたHTMLの貼り付け用コードをコピー
3. ココログのマイリスト(メモ)にコピーしたHTMLを貼り付け。
4. 続いて以下のコードをコピーして、マイリスト(メモ)に貼り付け、保存。
<script type="text/javascript"> Hatena.Star.EntryLoader.loadEntries = function() { var entries = []; var divs = Ten.DOM.getElementsByTagAndClassName('div','entry',document.body); for (var i = 0; i < divs.length; i++) { entries.push(new Hatena.Star.Entry.CocologHeader(divs[i])); entries.push(new Hatena.Star.Entry.CocologFooter(divs[i])); } return entries; } Hatena.Star.Entry.CocologHeader = new Ten.Class({ initialize: function(div) { this.div = div; var h3 = div.getElementsByTagName('h3')[0]; this.title = Ten.DOM.scrapeText(h3); var posted = Ten.DOM.getElementsByTagAndClassName('p','posted',div)[0]; this.uri = Ten.DOM.getElementsByTagAndClassName('a','permalink',posted)[0].href; h3.innerHTML = '<a href="' + this.uri + '">' + this.title + '</a>'; this.comment_container = Hatena.Star.EntryLoader.createCommentContainer(); h3.appendChild(this.comment_container); this.star_container = Hatena.Star.EntryLoader.createStarContainer(); h3.appendChild(this.star_container); } }); Hatena.Star.Entry.CocologFooter = new Ten.Class({ initialize: function(div) { this.div = div; var h3 = div.getElementsByTagName('h3')[0]; this.title = Ten.DOM.scrapeText(h3); var posted = Ten.DOM.getElementsByTagAndClassName('p','posted',div)[0]; this.uri = Ten.DOM.getElementsByTagAndClassName('a','permalink',posted)[0].href; this.comment_container = Hatena.Star.EntryLoader.createCommentContainer(); posted.appendChild(this.comment_container); this.star_container = Hatena.Star.EntryLoader.createStarContainer(); posted.appendChild(this.star_container); } }); </script>
# はてなスター日記にあったLivedoor用コードほぼそのまんまですが(^^;
▼注意点
テンプレートによっては動かないかもしれません。お知らせいただければ。
▼余談
- 記事ごとじゃなくてカテゴリページなどにも星を付けるには。。。?
- はてなブックマークのその場でコメント表示できるボタンも欲しいなあ。
- 「ページトップに戻る」リンクもそろそろ作り直さないと。。。
最近のコメント