2006-06-11 ========== behaviour.js とか ----------------- Reference URI: http://lowreal.net/logs/2006/06/11/3 Written Time: 2006-06-11T02:28:34+09:00 Tags: js 分離の問題って、単純に Event.observe("load", window, func) とかやるとページが完全にロードされるまで JS が一切実行されないことにあるよねぇ。 画像を多く含むページとかは特に最悪。前に作った [now playing のページ (バグって動いてないかも) ](/playing) なんてもうそれに当てはまってて結構アレだった。 で、このライブラリはどう解決してくれるんだうへへへとか期待して覗いてみたけど現バー ジョンでは特に対応されていない。すなわち上で書いたようにページが完全にロードされる まで、一切のイベントをキャッチできない。 と、いったところで、Google Group をほげーっと眺めてみると [Google Groups: Behaviour Javascript Library](http://groups.google.com/group/behaviour/browse_thread/thread/fc3a2e6da47e0e87/b060283a0277f7dc#b060283a0277f7dc) というまさにソレなトピックがあって、コードが示されている。結局めんどくさいブラウ ザの独自拡張に手を出さないといけないみたいだ。 Gecko は DOMContentLoaded イベント (GreaseMonkey の実行タイミングと一緒かな?) を登録する。IE (Internet Explorer) は script 要素の defer という属性を書いてあげればいいらしい。けど、実際試してみると IE でうまくいってな いように見える。 どっちにしても Opera でうまくいかない以上、最速にしてストレスを減らすなら HTML (Hyper Text Markup Language) 直書きになってしまうような。個人的には直書きが好きじゃないから分離してるけど、分 離するだけなら別に behaviour.js はいらないかな (ちゃんとクラスとか id ふっておけば あんまり困らない)。 場合によっては、ポリシーを現実的なほうにズラして直で書く、と思う。諦めが肝心 - [The window.onload Problem - Solved!](http://dean.edwards.name/weblog/2005/09/busted/) - [Example of Improved Behaviour.addLoadEvent](http://linguiste.org/projects/behaviour-DOMContentLoaded/example.html) - [我的春秋: 続 JavaScript ソースが HTML から消える日](http://my-chunqiu.cocolog-nifty.com/blog/2006/06/_javascript_htm_d49c.html)