お知らせ

WordPressで学ぶPHPとMySQL2009年9月23日

WordPressで学ぶPHPとMySQL」を発売しました。
「WordPressをカスタマイズしたいけど、PHPやMySQLが分からなくて躓いている」という方のための、PHPとMySQLの入門書です。
WordPressでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

はてなブックマークウィジェットをhackする

| コメント(0) | トラックバック(4)

11月30日に、はてなが「はてなブックマークウィジェット」を公開しました。

特定のサイトについて、はてなブックマークでブックマークされている注目/人気エントリーを、サイドバー等に表示するためのパーツです。

このウィジェットのJavaScriptを調べて、どのようにして注目/人気エントリーの情報を得ているかを見てみました。
すると、案外シンプルで、割と簡単にhackすることができました。
以下の例は、当Blogの注目/人気エントリーの情報を得て、表示形式をカスタマイズしてみたものです。

1.情報を得る方法

はてなブックマークウィジェットは、以下のURLを利用して、注目/人気エントリーの情報を得ています。
「サイトのURL」の部分には、情報を得たいサイトのURLをURLエンコードした値を入れます。

  • 注目エントリー
    http://b.hatena.ne.jp/entrylist/json?url=サイトのURL&sort=hot&callback=コールバック関数名
  • 人気エントリー
    http://b.hatena.ne.jp/entrylist/json?url=サイトのURL&sort=count&callback=コールバック関数名

いずれのアドレスも、JSONPの形式でデータを返してきます。
したがって、データを表示したいページにJavaScriptでコールバック関数を用意しておけば、その関数の中でデータを操作することができます。

また、データは以下のような形式の配列になっています。
得られるデータの件数は、最大で10件のようです。

[
    { link : エントリーのURL, title : エントリーのタイトル, count : 被ブックマーク数 },
    { link : エントリーのURL, title : エントリーのタイトル, count : 被ブックマーク数 },
    ・・・
]

2.データを表示するJavaScriptの例

冒頭にあげた例では、以下のようなコールバック関数でデータを表示しています。

var SimpleHBWidget = {};
SimpleHBWidget.showBookmarkList = function(data) {
    var i, j, html;
    html = '<p>' + SimpleHBWidget.title + '</p>';
    html += '<ul>';
    for (i = 0, j = data.length; i < j; i++) {
        html += '<li><a href="' +data[i].link + '">'+ data[i].title + '</a> <span style="padding : 0 3px; color : #ff0000; background-color : #ffcccc;">' + data[i].count + 'users</span></li>';
    }
    html += '</ul>';
    document.getElementById(SimpleHBWidget.id).innerHTML = html;
};

また、データを表示する位置には、以下のようなHTMLを入れています。

<div id="hatena_hot"></div>
<script type="text/javascript">
//<![CDATA[
SimpleHBWidget.title = '■当Blogの注目エントリー';
SimpleHBWidget.id = 'hatena_hot';
//]]>
</script>
<script type="text/javascript" src="http://b.hatena.ne.jp/entrylist/json?url=http%3A%2F%2Fwww.h-fj.com%2Fblog%2F&sort=hot&callback=SimpleHBWidget.showBookmarkList"></script>

<div id="hatena_count"></div>
<script type="text/javascript">
//<![CDATA[
SimpleHBWidget.title = '■当Blogの人気エントリー';
SimpleHBWidget.id = 'hatena_count';
//]]>
</script>
<script type="text/javascript" src="http://b.hatena.ne.jp/entrylist/json?url=http%3A%2F%2Fwww.h-fj.com%2Fblog%2F&sort=count&callback=SimpleHBWidget.showBookmarkList"></script>

Facebook連携

当記事について「いいね」や「送信」を行っていただけると幸いです。


この記事についてウォールに投稿

トラックバック(4)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1121.

はてなブックマークウィジェットの公開について - はてなブックマーク日記 - 機能変更、お知らせなどより。 はてなブックマークウィジェットが公開... 続きを読む

奈良から拓くホームページ - WordPressプラグイン:wp-hatena (2008年5月28日 03:34)

はてなブックマークのアイコンや被ブックマーク数を表示させる方法。 wp-hatena にさらに追加、合計 10 個の SBS に対応 - Numb. W... 続きを読む

細胞外記録のエントリがけっこう多くブクマされたので、この機会にはてなブックマー... 続きを読む

このブログの右側に付いてる、「人気エントリー」という項目について。 あれは、はてなブックマークが提供しているサービスの1つで、HTMLとJavascri... 続きを読む

コメントする


Facebookでコメント

試験的にFacebookのコメントフォームを設置しました。