右クリックで はてなブックマーク、ついでに del.icio.us (改訂版)

観測気球

収集物の記録書庫 a data archive of collection -- collectible toys

[要旨] Bloglines で読んでいる記事をそのままブックマークできるようにしました。オリジナルの記事(Webページ)をいちいち参照することなく、手軽にクリップできます。
[キーワード] bloglines,記事,クリップ,ブックマーク

« 右クリックで blockquote (改訂2版) | トップページ | 今週のお買い物 (2005.06.05~06.11) »

2005.06.09

右クリックで はてなブックマーク、ついでに del.icio.us (改訂版)

先日作成したばかりの「右クリックで はてなブックマーク、ついでに del.icio.us」、早くも改訂版です (^^;

右クリックで blockquote (改訂2版)」と同様、Bloglines 対応が今回のポイントです。Bloglines で読んでいる記事を、オリジナルの記事(Webページ)を参照することなく、del.icio.usはてなブックマークに登録することができます。なお、Bloglines で読んでいる記事をブックマークに登録するには、記事のどこか一部(文字列)を選択状態にしておく必要があります。選択している文字列が短いと(他に同じ文字列を含む記事が存在する場合)誤判定する可能性がありますので、長い目に(他の記事と区別できる程度に)文字列を選択してください。

元記事の一部を概要というか要約としてそのままブックマークに登録する人は、このスクリプトを使うことで、すごく便利になると思います。

それでは、以下、ソースです。

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
<script type="text/javascript" language="JavaScript">

// 「右クリックで はてなブックマーク、ついでに del.icio.us」
//     written by H.Tsujimura (tsupo@na.rim.or.jp)
//
//     Version 1.1   9 Jun 2005  Bloglines で読んでいる記事をそのままブック
//                               マークできるようにした
//     Version 1.0   6 Jun 2005  最初の版

obj = external.menuArguments;   // 右クリック時の引数のオブジェクトの参照
page_url  = obj.document.URL;   // ページのURL
title_txt = obj.document.title; // タイトル文字列
cite_txt  = obj.document.selection.createRange().text; // 引用文字列
inn       = obj.document.body.innerHTML;

// 注意: (1) はてなにログイン済みの状態で使うことを前提にしています。
//       (2) 「はてなブックマーク」では title の値を指定しても無視されます。
//           (はてなサーバ側で当該Webページを取得し、その Web ページの title
//            要素を取得し、初期値として採用する仕様のため)
//       (3) mode=confirm (ブックマークに登録する前に確認あり) だと、comment
//           の値が無視されるため、cite_txt != "" 時は mode=enter (確認なしで
//           いきなり登録)を使っています。
//       (4) del.icio.us はログイン済みでなくても使えますが、本ブックマーク起
//           動時点でログイン済みでない場合は、漢字等が文字化けします。文字化
//           けを避けるために、あらかじめログインしておくことをおすすめします。

// ↓↓ あなたのアカウントに変更して、お使いください
del_userID = "tsupo";           // del.icio.us のアカウント
// ↑↑ あなたのアカウントに変更して、お使いください

if ( (cite_txt != "") && (cite_txt.length > 0) ) {
    if ( page_url.match("http://www.bloglines.com/myblogs_display") ||
         page_url.match("http://bloglines.com/myblogs_display")        ) {
        /* Bloglines で読んでいるテキストをブックマーク可能にするための処理 */
        loc = inn.indexOf(cite_txt);
        if ( loc > 0 ) {
            locH3 = inn.substring(0,loc).lastIndexOf("a title=");
            if ( locH3 > 0 ) {
                targetString = inn.substring(locH3,loc);
                locHREF = targetString.indexOf("href=");
                if ( locHREF > 0 ) {
                    targetHREF  = targetString.substring(locHREF + 7,targetString.indexOf('\\" target='));
                    targetTITLE = targetString.substring(targetString.indexOf('" target=')+16,targetString.indexOf("</a>"));
                    if ( targetHREF != "" )
                        page_url  = targetHREF;
                    if ( targetTITLE != "" )
                        title_txt = targetTITLE;
                }
            }
        }
    }
}

if ( title_txt == "[object]" ) {
    /* title に '*' が含まれている場合にうまく取り込めない現象への対策 */
    str = obj.document.body.parentNode;
    inn = str.innerHTML;
    s = inn.indexOf("<TITLE>");
    e = inn.indexOf("</TITLE>");
    if ( (s > 0) && (e > s) )
        title_txt = inn.substring(s + 7, e);
}

if ( cite_txt != "" ) {
    // マウスで選択中の文字列があれば、extended に入れる
    window.open('http://b.hatena.ne.jp/add?mode=enter&is_bm=1&title='+escape(title_txt)+'&url='+escape(page_url)+'&comment='+escape(cite_txt), '_blank', 'width=480,height=360,resizable=1,scrollbars=1');
    window.open('http://del.icio.us/' + del_userID + '?v=2&url=' + encodeURIComponent(page_url) + '&title=' + encodeURIComponent(title_txt) + '&extended=' + encodeURIComponent(cite_txt));
}
else {
    window.open('http://b.hatena.ne.jp/add?mode=confirm&is_bm=1&title='+escape(title_txt)+'&url='+escape(page_url), '_blank', 'width=480,height=360,resizable=1,scrollbars=1');
    window.open('http://del.icio.us/' + del_userID + '?v=2&url=' + encodeURIComponent(page_url) + '&title=' + encodeURIComponent(title_txt));
}
</script>

関連記事

投稿者: tsupo 2005.06.09 午後 02:50 | 固定リンク | このエントリーをはてなブックマークに追加 | このエントリを del.icio.us に登録 このエントリの del.icio.us での登録状況 | このエントリを Buzzurl に追加このエントリの Buzzurl での登録状況 | このエントリをlivedoorクリップに登録 このエントリのlivedoorクリップでの登録状況 このエントリをlivedoorクリップに登録している人の数 | 酢鶏巡回中

楽天市場


品揃え豊富で安い!NTT-X Store


アマゾンわくわく探検隊

トラックバック

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

この記事へのトラックバック一覧です: 右クリックで はてなブックマーク、ついでに del.icio.us (改訂版):

» 右クリックで はてなブックマーク、ついでに del.icio.us (改訂2版) from 観測気球
Bloglines や はてなRSS で読んでいる記事、Google の検索結果を元に、オリジナルのWebページを参照することなく、del.icio.us や はてなブックマークにクリップすることができるスクリプトです。 続きを読む

受信: 2005.06.13 午後 08:49

» 右クリックで はてなブックマーク、ついでに del.icio.us (2005年7月版) from 観測気球
「はてなブックマーク」の7月13日に実施された仕様変更にあわせて、スクリプトを大幅に書き直しました。古い版をお使いの方は、差し替えをお願いします。 続きを読む

受信: 2005.07.15 午後 05:05

コメント

ワード

ニッセン

fujisan.co.jp

楽天市場