Gmailだけで自分自身とチャットする方法(bookmarklet) - メモ取り用

Gmailのchatは、ログに残ります。ですのでメモ取り、集約に便利。
でも、アカウントが二つ要る or | and 相手をオンラインにしなければならない。かといって、新規メール→下書き保存はめんどくさい。
「自分にチャットできたらいいのに…」と思いました。(Gmailで解決したいんですよ僕は)

ちょっと前まで


この方法(メモをどこに保存するか決められなくて困る【確かに】)でちょっとしたメモを取るのに、meebo(http://www.meebo.com/)を利用してたんですが、ウィンドウが2つ要るのと毎回ログインするのがだんだん嫌になってきたので方法を探ってみました。

なんかそういうものがあるのかもしれません(もしくはもっと簡単にできる?)が、余計なもの入れたくないたちなので簡単な方法で考えてみました。

左下にQuick Contacts(クイックコンタクト)が並んでる(デフォルト)環境のみ想定してます。(SafariGmail上でのチャットに対応してないので無理ですね)
JavaScriptの仕様がちょこちょこ変わるみたいなので、bookmarkletという形で書きます。

その方法


以下のブックマークレットを登録し、Gmailにログイン状態の時に実行してください。(意味わからなければgmailを見ているときにブラウザのアドレス欄に貼り付けてEnterでもいいですよ)

javascript:(function(){var fc=String.fromCharCode,o=window.js,z=["$",""];if(o&&typeof(o._$)!="function"){for(var i=0;i<26;i++)z.push(fc(65+i),fc(97+i));var f,Z=z,l=z.length;for(var i=0;i<l;i++){for(var j=0;j<l;j++){var x=z[i]+Z[j];if(x&&typeof(o[x])=="function"&&o[x].toString().match(/<button cl/)){f=x;break;}}if(f==x){break;}}if(f){o._$=o[f];o[f]=function(a,b,c,d){if(!a&&b.match(/^chat_/)){a=true}return o._$(a,b,c,d);}}else{alert("NG")}}setTimeout("window.js._BZ_Signin(0,{})",100)})()

んーなんとか500バイトに収まった。(FirefoxとIE6で動作確認済み)

クイックコンタクト(Quick Contacts)の自分のアカウントにマウスを持っていっても普段はチャットのボタンが押せませんが上記ブックマークレットを実行すると、押せるようになり自分とチャットできます!(ログにも残りますよ!)

Greasemonkeyスクリプトを書くと、メンテを求められそうなので誰かに期待(サポートとかも含めて…)


一応整形済みソース

javascript:(
	function(){
		var fc=String.fromCharCode,o=window.js,z=["$",""];
		if(o||typeof(o._$)!="function"){
			for(var i=0;i<26;i++){
				z.push(fc(65+i),fc(97+i));
			}
			var f,Z=z,l=z.length;
			for(var i=0;i<l;i++){
				for(var j=0;j<l;j++){
					var x = z[i]+Z[j];
					if(x&&typeof(o[x])=="function"&&o[x].toString().match(/<button cl/)){f=x;break;}
				}
				if(f==x){break;}
			}
			if(f){
				o._$=o[f];
				o[f]=function(a,b,c,d){
						if(!a&&b.match(/^chat_/)){a=true;}
						return o._$(a,b,c,d);
				};
				
			}
			else{
				alert("NG");
			}
		}
		setTimeout("window.js._BZ_Signin(0,{})",100)
	})()

免責


詳しくはソースってことでお願いします。かなり想像入ってますので、動かない場合もあるかもしれません。(動いたバージョン番号で分けるべきと思います…)
お決まりの自己責任で。


Gmailの仕様が変わった時や、僕が想定してるGmailでない場合使えないこともあろうかと思います。
「自分自身とチャットするなぞけしからん」とGoogle先生にアカウント消されても知りません。
その辺ご理解ください。


このブックマークレットは、ポップアップの「チャット」ボタンを全て有効にするので、
前回のようにダミーアカウントを取るだけ取っておいて、offlineモードでチャット=メモするのも良いかと思います。
(他人がオフラインでも書けますが急にオンラインになって困りそうなのでやらないほうが無難です)



もっといい方法あれば教えてください。