« 目で操作可能なコンピュータ | トップページ | 携帯に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 のサーバがちゃんと処理してくれるようになります。
以上のことがわかれば、日本語が通るスクリプトが書けます。
それでは、以下、スクリプトのソースです。
設置方法は、例によって、
他の 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&cmid=0&fs=1&tearoff=1'; d += '&su=' + page_title + '&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
| 固定リンク
|
|
|
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: 右クリックで Gmail It !:
» 右クリックで Gmail It !、リリース from あそびをせんとやうまれけむ
Gmail を hack するシリーズ(笑 このブックマークレットを使うと、要するに MyClip! や BlogPeopleアイビー の代わりに Gmail 続きを読む
» 各種GMail Hacksまとめ from Editide Slash Blog
使用している人はまだまだ少ないけれど、「GMail」が世の中に与えたインパクトの大きさだけは疑いようがなくって、それはMSN、Yahoo!、ライブドアなど各社... 続きを読む
» これは便利、右クリックでGmail It from In My Place
今まで、気になったページは、BlogPeopleのInstant Bookmar... 続きを読む
» Gmailメモφ from In My Place
Gmail関連リンクがどんどん増えて、Bookmarkのページが重くなるので、エ... 続きを読む
» 備忘録いろいろ from 今日の行方
■ Gmail Maniacs: ドキュメント: POP3アクセス: Becky... 続きを読む
» 右クリックで Gmail It ! (改訂版) from 観測気球
Gmail の現在の仕様に合わせて、「右クリックで Gmail It !」を作り直しました。どうぞご利用ください。 続きを読む
コメント
登録メンバーから右クリックでいけなかったっけ?
メモるなーーー
投稿者: 酢鶏 (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)