右クリックで Gmail It !

観測気球

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

[要旨] 閲覧中のWebページをGmailにメモるスクリプトを書いてみました。
[キーワード] Gmail,クリップ

« 目で操作可能なコンピュータ | トップページ | 携帯にblogクライアントを載せる »

2004.09.10

右クリックで Gmail It !

Gmail がいつまで経っても Oops なままの件、結局、いったんアカウントを削除して、改めて invite してもらうことで復活しました (^^;

記録しておきたいサイトのタイトルをgmailのサブジェクトに、アドレスと選択したテキストをgmailのボディに書き込んでくれるブックマークレット。
(略)
日本語はうまくいかないようだ。

はてなダイアリー - huixingの日記

このブックマークレットを使うと、要するに MyClip!BlogPeopleアイビー の代わりに Gmail を利用することができるようになる訳です。 ブックマークレットについては http://trenchant.org/plugins/ を参照してください。

このブックマークレットのアイデアを参考に、日本語が通る「右クリックメニュー(MenuExt)」を作ってみました。 なんでオリジナルのブックマークレットが日本語が通らない (というか、日本語が含まれるとメール編集画面までたどり着けない) かというと、どうも Gmail のサーバは、「%u16進数」形式の文字列が含まれるとうまく処理できないようなんですね。 代わりに「%16進2桁」形式に置き換えてやると、Gmail のサーバがちゃんと処理してくれるようになります。

以上のことがわかれば、日本語が通るスクリプトが書けます。

閲覧中のWebページを Gmail にメモっているところ

それでは、以下、スクリプトのソースです。 設置方法は、例によって、 他の MenuExt を参照してください。 なお、このスクリプトは、必ず、UTF-8 で保存してください。
改訂版を用意しました。今後は改定版の方をご利用ください。

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<script type="text/javascript" language="JavaScript">
function escapeString(str) {
    result = "";
    len    = str.length;
    for ( i = 0; i < len; i++ ) {
        if ( str.charAt(i) == '?' )
	    result += "%3F";
        else if ( str.charAt(i) == '>' )
	    result += "%3E";
        else if ( str.charAt(i) == '=' )
	    result += "%3D";
        else if ( str.charAt(i) == '<' )
	    result += "%3C";
        else if ( str.charAt(i) == ':' )
	    result += "%3A";
        else if ( str.charAt(i) == '/' )
	    result += "%2F";
        else if ( str.charAt(i) == '&' )
	    result += "%26";
        else if ( str.charAt(i) == '%' )
	    result += "%25";
        else if ( str.charAt(i) == '#' )
	    result += "%23";
        else if ( str.charAt(i) == ' ' )
	    result += "%20";
        else if ( str.charAt(i) == '\n' )
	    result += escape("\n");
        else
	    result += str.charAt(i);
    }

    return ( result );
}

obj = external.menuArguments;    // 右クリック時の引数のオブジェクトの参照
page_url   = obj.document.URL;   // ページのURL
page_title = obj.document.title; // タイトル文字列
page_body  = obj.document.selection.createRange().text; // 選択中の文字列

page_title = escapeString( page_title );
page_url   = escapeString( page_url );

d = 'http://gmail.google.com/gmail?view=cm&amp;cmid=0&amp;fs=1&amp;tearoff=1';
d += '&amp;su=' + page_title + '&amp;body=URL%3A%20' + page_url;
if ( page_body ) {
    page_body = escapeString( page_body );
    d += escape('\n') + '内容%3A%20' + page_body;
}

window.open(d,'gmail','toolbar=no,width=600,height=400');
</script>

ということで、Gmail が使える人は試してみてください。


*** 2005年11月2日 追記 ***

たび重なる Gmail の仕様変更の結果、この「右クリックで Gmail It!」は機能しなくなっています。現在の仕様に合わせたものを作ろうとは思っているんですが、苦戦しています。

ということで、現在、この「右クリックで Gmail It!」は使えなくなっています。ご了承ください。

*** 2005年11月26日 追記 ***

遅くなりましたが、改訂版を作成することができました。ご利用ください。

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

楽天市場


プログラミング」カテゴリ内の最近の記事

右クリック(MenuExt)」カテゴリ内の最近の記事

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


アマゾンわくわく探検隊

トラックバック

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

この記事へのトラックバック一覧です: 右クリックで Gmail It !:

» 右クリックで Gmail It !、リリース from あそびをせんとやうまれけむ
Gmail を hack するシリーズ(笑 このブックマークレットを使うと、要するに MyClip! や BlogPeopleアイビー の代わりに Gmail 続きを読む

受信: 2004.09.10 午後 05:25

» 各種GMail Hacksまとめ from Editide Slash Blog
 使用している人はまだまだ少ないけれど、「GMail」が世の中に与えたインパクトの大きさだけは疑いようがなくって、それはMSN、Yahoo!、ライブドアなど各社... 続きを読む

受信: 2004.09.11 午前 02:14

» これは便利、右クリックでGmail It from In My Place
今まで、気になったページは、BlogPeopleのInstant Bookmar... 続きを読む

受信: 2004.12.26 午後 05:29

» Gmailメモφ from In My Place
Gmail関連リンクがどんどん増えて、Bookmarkのページが重くなるので、エ... 続きを読む

受信: 2004.12.27 午後 07:35

» 備忘録いろいろ from 今日の行方
■ Gmail Maniacs: ドキュメント: POP3アクセス: Becky... 続きを読む

受信: 2005.06.14 午後 04:40

» 右クリックで Gmail It ! (改訂版) from 観測気球
Gmail の現在の仕様に合わせて、「右クリックで Gmail It !」を作り直しました。どうぞご利用ください。 続きを読む

受信: 2005.11.26 午後 08:03

コメント


登録メンバーから右クリックでいけなかったっけ?
メモるなーーー

投稿者: 酢鶏 (2004.09.12 午後 06:59)


こんにちは。
GMailのアカウントがないので試せないのですが、escapeStringのかわりにencodeURIComponentをつかえませんか?

投稿者: marklet (2004.09.13 午後 12:11)


確かに encodeURIComponent を使うことはできるようですね。

ただ、古いブラウザは encodeURIComponent をサポートしていないようなので、escapeString を使う方が可搬性は高いです。といっても、古いブラウザだとそもそも UTF-8 をサポートしていない可能性が高いですので、UTF-8 前提の Gmail 環境では encodeURIComponent でいい、と言ってしまってもいいでしょう。さらにいえば、Gmail は Windows の場合、IE5.5 以降、Mozilla 1.4 以降、Firefox 0.8 以降、Netscape 7.1 以降でしか使えないことになっているので、IE5.5 以降で使えるようになった encodeURIComponent を使ってもいい、という話にもなったりします。

結局、IE 5.5 以降でしか使わないのなら encodeURIComponent を使ってしまって構いませんが、他の環境への移植のしやすさを考えると escapeString を使うのも悪くないということで、よろしいでしょうか?

投稿者: tsupo (2004.09.13 午後 02:33)


なるほど、移植のしやすさを考えて、ということだったんですね。

投稿者: marklet (2004.09.14 午前 09:33)

コメントを書く




※イタズラ防止のため、メールアドレスを入力しないと投稿できません。

次からのコメント入力の手間を省くために、名前やメールアドレスをcookieに記憶しますか?


URL を入力すると、その URL にリンクがはられます。
なお、メールアドレスは公開されません。ご安心ください。


ワード

ニッセン

fujisan.co.jp

楽天市場