2009年6月12日(金)

« 瞬語一覧をブログパーツ化してみた | トップページ | あの熱い一夜からもうすぐ五年……そうかそんなに経つのか。 »

Twitter個別発言の前後を表示するスクリプトは便利ですね

検索やホットエントリーなんかで、ときどきTwitterの個別のつぶやきがひっかかりますよね。
その度に『これ、前後のつぶやきが表示されないとわからないよな~』とか思っていたのですが、それを表示してくれるスクリプトをたまたま見つけたのでご紹介。
[錐] Twitter で特定の post を開いたときに前後の文脈を見に行く Greasemonkey を作ったよ。
ShowStatusSequence for SeaHorse ‎(958lab)‎
もっといい方法が“常識”として存在するのかもしれませんが。自分自身はまだTwitterでつぶやいていないしなぁ(苦笑)。

なお、現時点(2009/06/12)で気づいた不具合のパッチ方法も書いておきます。
Firefox(Greasemonkey)版Opera版
◆現象
ハイライト処理がおかしい(対象となるつぶやきだけでなく、全体がハイライトされてしまう)。

◇対策
if ('TD' == node.nodeName.toUpperCase()) {
というのを探して(Greasemonkey版(version: 0.0.3):175行目、Opera版(version: 0.0.2):150行目)、
if ('LI' == node.nodeName.toUpperCase()) {
に修正。
たぶん、Twitter側のレイアウト変更による。
Sleipnir(Seahorse)版
◆現象
対象となるつぶやきが真中にくるようにスクロールされるはずが、動作がおかしい(ことがある?)。

◇対策
try {_window.execScript('('+function() {//window.sleipnir = null;
というのを探して(はじめの方)、その下に、
if (typeof jQuery.boxModel=='undefined') {
    var callback = arguments.callee;
    $(document).ready(function(){
        callback();
    });
    return;
}
というのを挿入。
SleipnirScriptってonload待たずに実行されるんだったっけ?すくなくとも、うちの環境(Sleipnir2.8.5)では、execScript()されたタイミングではまだJQuery.boxModeがundefinedだった。
おまけで、せっかくjQueryの機能を使っているので、ShowStatusSequence.emphasizeNodeも
ShowStatusSequence.emphasizeNode = function (node) {
    // change color
    node.style.backgroundColor = '#ffff88';
    // scroll
    var centerY = $(node).offset().top + $(node).height()/2, windowY = $(window).height()/2;
    if (windowY < centerY) {
        window.scroll (0, centerY - windowY);
    }
};
のようにした方がすっきりするかも。

この記事をニフティクリップβに追加 この記事をはてなブックマークに追加 2009/06/12(金) 19:43 | | 記事の編集(管理者用)

風柳へひとこと(web拍手) 

パソコン・インターネット」カテゴリの記事

覚書」カテゴリの記事

トラックバック

この記事のトラックバックURL:

記事との関連性が薄いものやSPAM等、管理人が不適切と見なしたトラックバックについては予告無く削除する場合が有ります。悪しからずご了承下さい。

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/161784/45318662

この記事へのトラックバック一覧です: Twitter個別発言の前後を表示するスクリプトは便利ですね:

コメント

ご指摘ありがとうございます。
早速修正させていただきました。
これからもよろしくお願いします。

投稿: 958 | 2009/06/25 9:49:30


コメントを書く