[ココログ] はてなスターを記事別ページにも(ついでにフッターにも)
バカンスで二週間いない間に 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用コードほぼそのまんまですが(^^;
▼注意点
テンプレートによっては動かないかもしれません。お知らせいただければ。
▼余談
- 記事ごとじゃなくてカテゴリページなどにも星を付けるには。。。?
- はてなブックマークのその場でコメント表示できるボタンも欲しいなあ。
- 「ページトップに戻る」リンクもそろそろ作り直さないと。。。


最近のコメント