#_だわん このページをアンテナに追加 RSSフィード

2006-04-10

どこでも行くよ! どこでも行くよ! - #_だわん を含むブックマーク

id:TransFreeBSD:20060405:p1でちょっとふれたwalker機能が一部実装されました。

#_:x=***.***&y=**.***

とか言うと("*"は数字)その場所にいきます。このとき、「#_:」と「x=」との間に何か入っていてもよいので、

#_:http://world.hatelabo.jp/?x=***.***&y=**.***

とか、google MapsとかのアドレスでもOKです。

ただ、戻ってくる機能はありませんので、一人ぼっちにはしないでくださいね。

トラックバック - http://dogfood.g.hatena.ne.jp/TransFreeBSD/20060410

2006-04-07

playerを手にいれた! playerを手にいれた! - #_だわん を含むブックマーク

昨日、playerオブジェクトが欲しいと書いた通り、redcherryさんとお話したり、d:id:redcherry:20060405:p3トラックバックしたりされたりした訳ですが、そのおかげで閃いた。というか過去にちょっと思いつきつつも試さずにいた事を思い出した。

というわけで試してみたら無事成功(だと思う)

なにをやったかというと、Playerオブジェクトコンストラクタラッパーを作って、そのラッパーコンストラクタをオーバーライドしました。

以下にそのサンプルスクリプトを載せます。

// ==UserScript==
// @name        Print unsafeWindow content
// @namespace   http://d.hatena.ne.jp/TransFreeBSD/
// @description Print unsafeWindow content
// @include     http://world.hatelabo.jp/*
// @exclude     http://world.hatelabo.jp/help
// @exclude     http://world.hatelabo.jp/js/*
// ==/UserScript==
var PlayerOrig = unsafeWindow.Player;
unsafeWindow.Player = function(map, name, friendList) {
    GM_log("make player: begin");
    GM_log("name: " + name);
    var obj = new PlayerOrig(map, name, friendList);
    GM_log("make player: done");
    return obj;
}

javascriptではすべてがオブジェクトの様に扱われ、関数すら変数への代入が出来ちゃいます*1。そこで、元のコンストラクタ変数に退避したあと、それにラッパーを再代入し、そのラッパーでは退避した本来のコンストラクタを呼び出してオブジェクトを作り、それを返してやります。サンプルスクリプトではそのオブジェクトはグローバルには残していませんが、グローバル変数に残してやればあとから参照出来るはず。

そんな関数すら自由にいじれるjavascript仕様感謝

*1:見方を変えていえば、名前のある変数に代入した関数が名前のついた関数といえる

トラックバック - http://dogfood.g.hatena.ne.jp/TransFreeBSD/20060407

2006-04-05

RSSRSS犬 - #_だわん を含むブックマーク

ご存知の方も多いと思いますが、4/1日よりRSS犬を勤めさせていただいております#_です。

なんの事かわからない方は渋谷駅南部のはて長屋に来て頂ければ幸いです。

というわけで、簡単な自己紹介を。

announcer

時報犬に代わる特殊犬をさまざまに考えてみる - 居眠り講義 - はてワン! で出たアイデアです。コメント通り頂きました。

1分に1件ずつ表示し、RSSは1時間毎に更新します。4/1日はエイプリルフールネタでしたが、4/2日からははてなブックマーク注目エントリーとなっています。

friend

近く(大体、今の長屋の範囲くらい)に来た犬はともだちります。ただ、寝てるとか無言の場合はお邪魔いたしません

catfisher

http://earthquake.usgs.gov/eqcenter/recenteqsww/catalogs/eqs7day-M5.xml

これも時報犬に代わる特殊犬をさまざまに考えてみる - 居眠り講義 - はてワン! で出ていたアイデアですが、http://earthquake.usgs.gov/ より地震情報を入手して、1時間以内にM5以上地震が発生したらその震源をリンクにします。震源なので海ばっかりという気もしますが、一番はてわんっぽいかもしれない。

似たような事でマップ付きキーワードとかがRSSで取得出来ると面白そうなのですが、やりませんか>はてなさん

messenger

#_:「メッセージ

とか

TransFreeBSD:「は?」

とか言っていただければ、

○○さんより「メッセージ

○○さんより「は?」

とか、予定では5分程プラ犬します。

walker(テスト中)

呼ぶと近寄ったり座標を言うとそこへ行ったりします。という機能はまだありません。残念ながら。が追加されました。→id:TransFreeBSD:20060410:p1

なので、d:id:wanparkさんにお願い。「Playerオブジェクト欲しい!」

といってみたが、どうやらそれを得る方法がある、という事を今日d:id:redcherryさんに聞いた。まだまだ修行が足りんです。

2006-03-26

yakalikeタイムスタンプ日本時間にするgreasemonkeyスクリプトを書いてみた yakalikeのタイムスタンプを日本時間にするgreasemonkeyスクリプトを書いてみた - #_だわん を含むブックマーク

ちょっと前にyakalikeで誰か*1が「日本時間だったら良いのにな」なんてことを言っていたので作ってみた。

http://aaa-www.net/~typer/YakalikeTZ+9.user.js

最初は簡単に考えていたけれど、作り始めて実は一工夫必要なことがわかった。考えてみれば当たり前だが、greasemonkeyスクリプトはページ読み込時に一度だけ実行される。そのためajaxで変更された内容をいじるには何らかの方法で後から関数なりメソッドなりを呼び出す必要がある。しかし、変更時だけ効率的に呼び出す方法がわからず、結局定期的に呼び出している。なにぶんにも初めて書いたので、このことに限らずリファクタしていただけるとありがたいです。

一応ソースも。

// refer to:
//   http://diveintogreasemonkey.org/patterns/match-attribute.html
//   http://www.tohoho-web.com/js/dom.htm
//   http://hamachiya.com/junk/htbClassic.user.js
//   http://www.mozilla.org/docs/dom/domref/dom_window_ref114.html#1021410
// ==UserScript==
// @name	YakalikeTZ+9
// @namespace	http://d.hatena.ne.jp/TransFreeBSD/
// @description	Convert to japanese time zone in yakalike
// @include	http://chat1.yakalike.com/jchat/*
// ==/UserScript==
(function() {
	function ConvertTZ() {
		var postdate=document.evaluate(
			"//span[@class='message_postdate']",
			document.getElementById('messages_div'),
			null,
			XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
			null);
		for(var i=0; i<postdate.snapshotLength; i++) {
			var item=postdate.snapshotItem(i);
			if (item.innerHTML.match(/^\[(\d\d)(:\d\d:\d\d) -0500\] $/)) {
				item.innerHTML
					= '['
					+ ('0'+(RegExp.$1-0+14)%24).slice(-2)
					+ RegExp.$2 + ' +0900] ';
			}
			item.setAttribute("class","message_postdate message_postdateJa");
		}
	}

//	var style = document.createElement('style');
//	style.type = 'text/css';
//	style.innerHTML = '.message_postdateJa{}';
//	var head = document.getElementsByTagName('head')[0];
//	head.appendChild(style);
	window.setInterval(ConvertTZ, 3900);
})();

*1:strangefruitsさんだった気もしますが、ちゃんと覚えてません。ごめんなさいです。あっていて良かった良かった

strangefruitsstrangefruits2006/03/26 22:33「日本時間で表示されたらいいのに」と言ったの、私です。
早速入れさせて頂きました!
ありがとうございます!

トラックバック - http://dogfood.g.hatena.ne.jp/TransFreeBSD/20060326

2006-03-20

キーワードかいた キーワードかいた - #_だわん を含むブックマーク

gabblyは一度書いた後、ダイアリーにキーワードがあったので全般的な事はそちらに移して、はわわわに関する事を書いた。

無操作で吹き出しがzzzになる件はちょうどよいネタがあったのでそれを書いてしまい直接触れなかった。だれかうまい説明をお願いします。

間違ってる事、他に知っている事があったら修正追記お願いします。

キーワードメモ キーワードメモ - #_だわん を含むブックマーク

トラックバック - http://dogfood.g.hatena.ne.jp/TransFreeBSD/20060320