mosleの日記

2007-11-07 【新UI用】Gmailだけで自分自身とチャットするブックマークレット このエントリーを含むブックマーク

僕のGmailアカウントインターフェイスが新しくなりました。見た目変わりませんが気持ちいいです。(言語はUSにしてます)

右上にNewer versionってのが出ると使えます。(IE6とかsafariでは、古いままみたい)


で、新しいUIでは当たり前ですがJavaScriptが変わっているため、

以前のGmailだけで自分自身とチャットする方法(bookmarklet) - メモ取り用は動きません。

UIブックマークレットは以下よりお願いします。Firefoxオンリーです


そのブックマークレット

javascript:if(na[_P].wZ_mos_temp)na[_P].wZ=na[_P].wZ_mos_temp;na[_P].wZ_mos_temp=na[_P].wZ;na[_P].wZ=function(a,b){var r=this.wZ_mos_temp(a,b);if(this.yq().Vt().getData(oj)==b.qZ&&!((r>>8)&1))r|=256;return r;};undefined;

(間違えた、ちょっと修正)

説明等々はこちらでお願いします


補足

Gmail内に定義されてるna[_P].wZを退避して、管理用変数のビットフラグをいじる関数を間に挟んでるだけです。

ちなみに_Pは"prototype"と定義されています。つまりna.prototype.wZですね


変数名とか決めうちですが、環境によって違ったりするんでしょうか。


動かないときは、たぶん変数関数名が違うんでしょう。

数値2097152(0b1000000000000000000000)とORをとる計算をしてる関数定義箇所を探し出して、その関数名と上記のna[_P].wZと読み替えてください。

「this.yq().Vt().getData(oj)==b.qZ」はなくても目的は達成できます


IE6とか古いインターフェイスのままで使用する場合は前のやつ


関係ないけど追記

はてなスターって間違ってクリックしてしまうと消せないんですね。

自分のエントリーにつけられる意味あるんでしょうか。練習用?

失敗した なんかハズイ

うぇwwうぇっうぇwwwwwwwうぇwwうぇっうぇwwwwwww 2009/07/30 06:02
ドーユーリメンバー?私アルパカに似てるタケシねwwwwwww
んぉふーww 雑誌に載ってたのやってみたらコスプレ姫の魔法のフィラチオにハマっちゃって思考回路がフィラチオ中心になってるぉwwwwww
てか気持ちよくしてもらってんのに何で5万貰えんの? カオスwwwww

http://netoge.bolar.net/wSKGyaK/

試してみたお!試してみたお! 2009/08/10 01:51
オッス!ニートの桜井だよ!いやいや毎度毎度!!!!!
ここで釣った女でコンニャクオナと生マヌコのどっちが気持ちいいか試したお!!
えとうん・・・問答無用で生マヌコの勝ちだわwwwwwwwwwww
てかハメさせてくれた女子が当たり前のように10万くれたんだけど何でー???

http://ene.creampie2.net/ON7D0Nc/

じゃぶぁー!!!!じゃぶぁー!!!! 2009/08/13 09:30
やっぱコスしてもらってハ メ るのが一番萌えに燃えるって!!!!!!
昨日はエ○ァの新キャラコスしてもらったもんねー(*´Д`)ハァハァ
興 奮しすぎて無意識に服着せたままパ ン ツ ビリビリに破いてバック突きしまくっちゃったwwww(テヘw)
既に次はハ○ヒで決定してるしwktkが止まらんねぇぇぇwwwwwwwwww

http://kachi.strowcrue.net/YGaEZ9T/

メタボがアチイメタボがアチイ 2009/08/25 13:25
なんか俺妙に人気すぎるから昨日ハ メ ハ メした女の子に
理由聞いてみたら今メタボ超人気なんだってさ!!!!

お腹のポニョポニョだけじゃなくて包 茎が多いのも
ポイント高いっていうまさかのメタボ包 茎フィーバーwwwwwww

今月もうちょいで8 0 万貯まるし家でネトゲしまくって体型維持するわwww

http://okane.d-viking.com/HM9Nfvy/

2006-11-11 超速攻でGmailするブックマークレット[修正] このエントリーを含むブックマーク

前回の、

超速攻で自分にGmailするbookmarklet

http://d.hatena.ne.jp/mosle/20061017

Gmailインターフェイスが少し変わったときに動かなくなったので修正。


javascript:(function(){var to="送り先メールアドレス",a=prompt("subject?");if(a){var e=encodeURIComponent,c=String.fromCharCode,o=window.js,z=["$",""],l,A,B,C,D,E,i,j,s,t=RegExp;for(i=0;i<26;i++)z.push(c(65+i),c(97+i));l=z.length;for(i=0;i< l;i++){for(j=0;j< l;j++){var x=z[i]+z[j];if(x&&typeof(o[x])=="function"){s=o[x].toString();if(!A&&s.match(/_AT/)){A=o[x]();}if(!B&&s.match(/"jsid".+?([a-zA-Z$]+)/)){B=o[t.$1];}if(!C&&s.match(/XMLHttp/)){C=o[x]();}if(!D&&s.match(/"ik"/)){D=o[x]();}if(!E&&s.match(/this.cmid.+?([a-zA-Z$]+)/)){E=o[t.$1]++;}}if(A&&B&&C&&D&&E)break;}if(A&&B&&C&&D&&E)break;}var dt={view:"sm",at:A,jsid:B,to:e(to),subject:e(a)},h="";C.open("POST",D+"&cmid="+E);C.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var i in dt)h+=i+"="+dt[i]+"&";C.send(h)}})();

上記ブックマークレット赤字部分を自分のアドレスに変更して登録してください。

よく送るあて先のアドレスを赤字部分に書いてもいいんですよ。

要はGmailの「新規メール作成画面に行くまでの時間が待てない人向け」

速攻で誰かにsubjectオンリーのメールを送るブックマークレットです。(長)

Gmailの画面上で」実行してください。


前に比べるとちょっとばかり遅くなりましたがいいですよねー

トラックバック - http://d.hatena.ne.jp/mosle/20061111

2006-10-17 超速攻で自分にGmailするbookmarklet このエントリーを含むブックマーク

2006/11/11 追記

動かない人はhttp://d.hatena.ne.jp/mosle/20061111をお試しください


件名だけのメールをよく自分に送ったりするんですが、基本Gmail重くないですか?

速攻で自分にメール送りたいときに、躊躇してしまうんですね、僕。(何で自分にメール送るのっていう意見はさておき)

Gmailのcomposeウィンドウを開くブックマークレットはよく見かけますが、速攻で送りたいときにイラチな僕はローディング時間が待てないんですよ

そんなbookmarkletを探したんですが、全然見つけられなかったので作ってみました。(ものすごく誰かが作ってそうですが…)


そのブックマークレット


javascript:(function(){var to="送り先メールアドレス",a=prompt("subject?");if(a){var e=encodeURIComponent,c=String.fromCharCode,o=window.js,z=["$",""],l,A,B,C,D,E,i,j,s,t=RegExp;for(i=0;i<26;i++)z.push(c(65+i),c(97+i));l=z.length;for(i=0;i< l;i++){for(j=0;j< l;j++){var x=z[i]+z[j];if(x&&typeof(o[x])=="function"){s=o[x].toString();if(!A&&s.match(/_AT/)){A=o[x]();break;}if(!B&&s.match(/"jsid".+?([a-zA-Z$]+)/)){B=o[t.$1];break;}if(!C&&s.match(/XMLHttp/)){C=o[x]();break;}if(!D&&s.match(/"ik"/)){D=o[x]();break;}if(!E&&s.match(/this.cmid.+?([a-zA-Z$]+)/)){E=o[t.$1]++;break;}}if(A&&B&&C&&D&&E)break;}if(A&&B&&C&&D&&E)break;}var dt={view:"sm",at:A,jsid:B,to:e(to),subject:e(a)},h="";C.open("POST",D+"&cmid="+E);C.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var i in dt)h+=i+"="+dt[i]+"&";C.send(h)}})();

(10/17 10:00ちょっと修正-そんなにサイズにこだわる理由はなかった…)

上記ブックマークレット赤字部分を自分のアドレスに変更して登録してください。("アカウント名+MEMO@gmail.com"とかするとよいです)


Gmailの画面上で」実行すると、Javascriptプロンプトが開きます。文字を入力してOKを押すと、入力した文字が件名として指定したアドレスに送られます。やったね!

(すぐにInboxに反映されないかもしれませんが、ほってたら来ます-うまくいってたらの話)

f:id:mosle:20061017024919g:image


あ、あと余裕で800バイト弱あるのでIE6ではこのままでは使用できません。FirefoxSafari限定でお願いします。

前回同様、そんなにテストしたわけでないので、みなさんの環境で動くかどうかは知りません。

免責も前回同様でお願いします。責任は負いませんよ!ご了承ください

問題が起こったら使用をやめてくださいね


変数を汚染しないために、毎回GmailJavascript関数をtoString()して正規表現スキャンしてます。

なんか無駄なので変数キャッシュするバージョンとか、タイマー指定して入力中にスキャンとか(誰かやって)、そのほか本文も入力するバージョンとか色々考えました。気が向いたら書きます。

適当にアレンジしてください。


あとがき


長文をメモりたいときは前回の方法(自分とチャット)で、速攻でとりあえずメモりたいときは今回の方法で。

サイトのURLをメモる時はこちらの方法で。って使い分けるとよいかも

トラックバック - http://d.hatena.ne.jp/mosle/20061017

2006-10-13 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)の自分のアカウントマウスを持っていっても普段はチャットのボタンが押せませんが上記ブックマークレットを実行すると、押せるようになり自分とチャットできます!(ログにも残りますよ!)

f:id:mosle:20061013143817g:image

f:id:mosle:20061013143915g:image

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モードでチャット=メモするのも良いかと思います。

(他人がオフラインでも書けますが急にオンラインになって困りそうなのでやらないほうが無難です)



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

natsuminatsumi 2006/10/18 10:35 私は英語版のGoogle Talk 1.0.0.99を使っていますが、検索ボックスに自分のアカウントを入れて出てきた自分の名前にマウスオーバーして出てきた自分にあるchatボタンを押すか、右上にある逆三角からchatを選択して、今まで自分とチャットをしてきました。皆そうしているものだと思っていましたが、実際これは既知のことなのでしょうか?
mosleさんは日本語の環境でGoogle Talkを使いたいというこだわりから、このようなブックマークレットを作ったのでしょうか?

moslemosle 2006/10/18 11:00 >natsumiさん
ありがとうございます
「ブラウザ上のGmail”のみ”」でやりたい(Google Talkなりを使わずに)という内容なんです。
わかりにくかったかな。すみません

harukaharuka 2006/10/18 11:01 日本語環境のGoogle Talk でも、natsumiさんの方法でできます。

natsuminatsumi 2006/10/18 18:00 >mosleさん ありがとうございます。なるほど、分かりました!
>harukaさん 日本語環境では出来ないと思っていました。ありがとうございます。

夏 2007/04/07 18:00 何で、チャットってそんなに無いんですか?意味が分かりません。         意味を教えて下さい。宜しくお願いします。お願いします。チャットやりたいです。 やらせて下さい。

夏 2007/04/07 18:00 何で、チャットってそんなに無いんですか?意味が分かりません。         意味を教えて下さい。宜しくお願いします。お願いします。チャットやりたいです。 やらせて下さい。

夏 2007/04/07 18:00 何で、チャットってそんなに無いんですか?意味が分かりません。         意味を教えて下さい。宜しくお願いします。お願いします。チャットやりたいです。 やらせて下さい。

2006-10-01 【続】Google calendarを携帯で見たとき文字化けする場合の対処方法 このエントリーを含むブックマーク

前回のエントリは

Googleカレンダーを携帯で見たとき文字化けする場合の対処方法

http://d.hatena.ne.jp/mosle/20060930

langpair=ja|jaが通る前提で書き進めてたので&できるだけ元のhtmlを書き換えない方法として最後まで書きましたが、やっぱり意図しない英語が日本語に翻訳されるのが気持ち悪い人へ!

はい!それ俺!


その方法

前回同様(http://www.fixture.jp/blog/0609/20-1337.html)の方法でgoogle calendarアクセス用URLを生成し、

http://www.google.com/calendar/embed?src=アカウント名%40gmail.com&pvttk=ランダムな文字列&mode=AGENDA

このURLの末尾に &hl=jaをつけます。
つまり

http://www.google.com/calendar/embed?src=アカウント名%40gmail.com&pvttk=ランダムな文字列&mode=AGENDA&hl=ja

とし、このURLをコピー。

http://google.com/gwt/nにアクセスし、Enter a URL欄に、先ほどコピーしたURLをペーストして「Go」をクリック。

生成されたページのアドレス欄に表示されているURLの末尾に、&oe=Shift_JISをつけます。
このURLをコピーして、携帯にメールします。

携帯でそのURLにアクセス!やったね!

下部にgoogle先生が変なボックスをつけますが、機能アップ!ってことで

こっちの方がわかりやすいか。ね?


(意図しない方法でURLが漏れる可能性があります。自己責任で!)

oru78oru78 2006/10/07 09:47 携帯買いなおそうか・・・とまで悩んでいましたが、おかげ様でキレイに表示されました!もぉ嬉しすぎて、こんなワザを公開して下さる方にお礼が言いたくて!!ありがとうございます(●^o^●)

moslemosle 2006/10/09 02:13 本当ですか。なんか喜んでいただいてありがとうございます!携帯で文字化けするサイトは上記方法で、だいたい解決できますよ!
googleといろいろ発見してくれる先人(元ネタの人たち)にも感謝!ですね

トラックバック - http://d.hatena.ne.jp/mosle/20061001