分離の問題って、単純に Event.observe("load", window, func) とかやるとページが完全にロードされるまで JS が一切実行されないことにあるよねぇ。画像を多く含むページとかは特に最悪。前に作った now playing のページ (バグって動いてないかも) なんてもうそれに当てはまってて結構アレだった。

で、このライブラリはどう解決してくれるんだうへへへとか期待して覗いてみたけど現バージョンでは特に対応されていない。すなわち上で書いたようにページが完全にロードされるまで、一切のイベントをキャッチできない。


と、いったところで、Google Group をほげーっと眺めてみると Google Groups: Behaviour Javascript Library というまさにソレなトピックがあって、コードが示されている。結局めんどくさいブラウザの独自拡張に手を出さないといけないみたいだ。

Gecko は DOMContentLoaded イベント (GreaseMonkey の実行タイミングと一緒かな?) を登録する。IE は script 要素の defer という属性を書いてあげればいいらしい。けど、実際試してみると IE でうまくいってないように見える。

どっちにしても Opera でうまくいかない以上、最速にしてストレスを減らすなら HTML 直書きになってしまうような。個人的には直書きが好きじゃないから分離してるけど、分離するだけなら別に behaviour.js はいらないかな (ちゃんとクラスとか id ふっておけばあんまり困らない)。

場合によっては、ポリシーを現実的なほうにズラして直で書く、と思う。諦めが肝心

  1. トップ
  2. js
  3. behaviour.js とか
▲ この日のエントリ