Hatena::Groupsubtech

冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。

 | 

Nov 23, 2007 (Fri)

Fx3 対応の AutoPagerize 04:50 はてなブックマーク - Fx3 対応の AutoPagerize - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。

何度か AutoPagerize の書きかえに挑戦して挫折 (GP にうつってから AutoPagerize なしで生きてた) しているのでゼロから書きなおした。まだ途中だけど30%ルールぐらいでコミット (はてダ/はてグぐらいしか確認してないんだぜ……)

http://coderepos.org/share/browser/lang/javascript/userscripts/jautopagerize.user.js?

Mochikit の Deferred っぽいのをとおしてリソースのキャッシュとかを綺麗に書けるようにしてみた。コンパクトにしようとおもってたら API がちょっとキモくなってしまった。(メソッドチェインできることと、addCallback みたいに camelCase のどこを大文字にするのかわからないような名前をつけないことには気をつけた)

Fx3 の JS (JS1.8) には reduce があって嬉しいですね。あと 1.6-1.8 追加の関数は MDC に等価コードがのっているので、他のブラウザになくてもコピペすれば動くようになるので使いまくれる。

確認したかぎり最新の Greasemonkey (0.7.20071121.0) をつかってる。普通の GM だとまだ Fx3 にインストールできない。このバージョンでも locale が ja-JP だと動かないので en-US にしないとだめ。


セキュリティ関係で unsafeWindow.console.log とかできないっぽいのでデバッグがかなりめんどうくさい。深追いしてないからできるのかもしれないけど……あと GM_log も動いてないっぽい。


Safari (GreaseKit) とか Opera でも動くようにしたいのであんまり Fx 特化の技はつかいたくない (XSLT つかって HTMLDocument つくるとか……BK すぎる……)

console.log へ吐く方法はみつけた。

	function log (m) {
//		var c = unsafeWindow.console;
//		if (c) c.log.apply(c, arguments);
		var o = Array.prototype.concat.apply([], arguments);
		location.href = "javascript:(function () { if (window.console) console.log.apply(console.log, "+o.toSource()+") })();";
	}

カッコではじまる XPath はうまくいかない。根本的な解決はむずかしい。

なんで nextLink は属性値まで指定させる方法じゃないんだろ。form/@action とかのやつも siteinfo にそのまま書けるのに……

script 要素のタグは削除してるけど内容を削除してないのではてブ人気エントリとかでゴミが表示されてしまう。実害ないからとりあえず放置

 | 

スポンサード リンク

書いてる人

cho45 (佐藤広央) (www.lowreal.net)

Perl, JavaScript, Ruby, HTML, CSS, Web etc


スポンサード リンク