日々のニュースの感想を中心にいろいろ書いています。毒舌が多めなのは仕様です。"シム宇宙" についてはプロフィールを参照。
Sleipnir + UserAction Extension で、はてなブックマークコメントを表示 (α ver.)
2007-03-02 Fri 00:00
サスケット さんの↓こちらに触発されて、作ってみました。

ひたすら無題 Ver2.0 | “Sleipnir+SeaHorseで全サイトはてブ化”をできるようにした

私は Sleipnir 使いなのですが、最近はてなブックマークを使い始めたので、以下の SeaHorse スクリプトを導入。はてなブックマークの情報がページの下に出てくる。


個人的趣味で、ページの下部のかわりにアウトプットに表示されるようにしてみました。まだまだ改良の余地はありまくり (数回に1回は取得に失敗しますw。多分サスケットさんが行った修正と同様の方法で治るのだと思うのですが……) ですが、久々のプログラミングで疲れたので、今日はここまでにしておきます。




var MAXCOMMENTNUM = 30;
var HATENAIDLEN = 17;
var PROXY = "http://b.hatena.ne.jp/entry/json/?url="

function checkStatus()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
displayData();
}
}

function displayData()
{
var data = eval("("+httpObj.responseText+")");

if (data && data.count > 0)
{
sleipnir.API.OutputAddString("■" + data.count + "user");

bm = data.bookmarks;
intCommentNum = 0;
strComment = ""

for (i=0; i < bm.length; i++)
{
if (intCommentNum >= MAXCOMMENTNUM)
{
sleipnir.API.OutputAddString("more...");
break;
}
if (bm[i].comment)
{
strComment = "";
strComment += bm[i].user + " ";
strComment = strComment.slice(0, HATENAIDLEN);
strComment += bm[i].comment;

sleipnir.API.OutputAddString(strComment);
intCommentNum++;
}
}
sleipnir.API.OutputCurSel = 0;

}else{
sleipnir.API.OutputAddString("■0user");
}
}

var blnCalled = false;
sleipnir.API.OutputClear();
sleipnir.API.OutputVisible = true;

if (_document != null && blnCalled != true)
{
if (self.location.href == top.location.href)
{
blnCalled = true;
var uri = top.location.href;

httpObj = new ActiveXObject("Msxml2.XMLHTTP");
httpObj.onreadystatechange = checkStatus;
httpObj.open("GET", PROXY + escape(uri), true);
httpObj.send(null);
}
}




と、このようになんとなくプログラムっぽい出来にはなっているように見えないこともありませんが、見かけにだまされてはいけません。弾さん風に表現するなら、弾さんが、

404 Blog Not Found:プロ^2グラマーは社交が8割

趣味でプログラムをするシュミグラマーや、本職は別にあって、たまにプログラムするタマグラマーはとにかく、プログラミングそのものを職にしているプロプログラマー(以下プロ^2グラマー)の業務の8割は、実はプログラムを書く事ではない。


の 『プロ^2グラマー』 であるのに対し、私は 『あま^3グラマー (詰めが甘々アマチュアプログラマー)』 なので、何が起こるか分かりません。ご注意を。また、「とてもじゃないが酷くて見てらんない」 とお考えの皆様には、ぜひいろいろとご教示いただきたく存じます。

具体的な使用法は、αを取ってもいいかな、と思った頃に書きます。今は参考リンクだけ示させていただきます。

■参考
kaz::hatena - Sleipnir+SeaHorseで全サイトはてブ化v3
第二章 プログラムを作って体験しよう:Internet Explorerの場合のデータの受け取り方

UserAction Extension|タブブラウザ Sleipnir プラグイン|Fenrir Extensions Center
タブブラウザ Sleipnir オンラインデータベース(Sleipnir.API リファレンス)
タブブラウザ Sleipnir オンラインデータベース(組み込みスクリプトの書き方)
このエントリーを含むはてなブックマーク | 別窓 | プログラミング | コメント:134 | トラックバック:1
| シム宇宙の内側にて |