はてなスター追加 & タイトルにカテゴリーを表示
突然Web拍手を追加しようと思い立った。
エントリー毎に設置したいのだが、ココログの機能にはないので、探してみる。
はてな に はてなスター というのが有って、それが使えそうだと判った。
更に調べてみると、どうやらずっとやりたかったタイトルにカテゴリーを表示することも出来そうだ。
はてな には既に登録していたので、早速ここを参考にして、はてなスターを設定してみる。
一度表示された後にリロードされるらしい。
JavaScriptをいじくり倒して、なんとかタイトルにカテゴリーを表示することに成功。
リロードされるのが気に食わないが、目を瞑ろう。
最終的に登録したJavaScriptは以下の通り。
<script type="text/javascript" src="http://s.hatena.ne.jp/js/HatenaStar.js"></script>
<script type="text/javascript">
Hatena.Star.Token = '****************************************';
</script><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;var postfooters = Ten.DOM.getElementsByTagAndClassName('span','post-footers',posted)[0];
var categorys = Ten.DOM.getElementsByTagAndClassName('a',null,postfooters);var cat = '';
if (categorys.length > 0) {
cat = '[';
for (var i = 0; i < categorys.length; i++) {
if (i != 0) {
cat += ',';
}
cat += '<a href="' + categorys[i].href + '">' + Ten.DOM.scrapeText(categorys[i]) + '</a>';
}
cat += ']';
}h3.innerHTML = '<a href="' + this.uri + '">' + this.title + '</a>' + ' ' + cat;
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>
| 固定リンク | コメント (0) | トラックバック (0)


最近のコメント