« 目で操作可能なコンピュータ | トップページ | 携帯に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)



