« 右クリックで 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日に実施された仕様変更にあわせて、スクリプトを大幅に書き直しました。古い版をお使いの方は、差し替えをお願いします。 続きを読む



