« 右クリックで 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>
関連記事
- 右クリックで del.icio.us
- del.icio.us に suggest 機能
- 右クリックで はてなブックマーク、ついでに del.icio.us
- 右クリックで blockquote (改訂2版)
投稿者: tsupo 2005.06.09 午後 02:50
| 固定リンク
|
|
|
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: 右クリックで はてなブックマーク、ついでに del.icio.us (改訂版):
» 右クリックで はてなブックマーク、ついでに del.icio.us (改訂2版) from 観測気球
Bloglines や はてなRSS で読んでいる記事、Google の検索結果を元に、オリジナルのWebページを参照することなく、del.icio.us や はてなブックマークにクリップすることができるスクリプトです。 続きを読む
» 右クリックで はてなブックマーク、ついでに del.icio.us (2005年7月版) from 観測気球
「はてなブックマーク」の7月13日に実施された仕様変更にあわせて、スクリプトを大幅に書き直しました。古い版をお使いの方は、差し替えをお願いします。 続きを読む