CSSのmax-widthとmax-heightをサポートしていないブラウザでJavascriptで実現する方法

人力検索で質問してみたら、ほんの1時間半で所望の答えがかえってきた。これは結構すごいですことです。
http://q.hatena.ne.jp/1179325611


ところで、<img/>でwidthが確定するのって、いつのタイミングなんだろう?
bodyのonloadの時点では、すでに、imgのsrc=に指定された画像はloadされていて、widthを参照することができるけど、HTMLのソースでなくJavascriptで動的にsrcを指定したら、それはいつ確定するのか?

    if (document.images[i].className != 'gazou_type') continue ;
        document.images[i].src = "./hoge.jpg";
        alert(document.images[i].width);
  ...中略...
    <img src="./2.jpg" class="gazou_type" />

とやってみると、

  • IE6だと、hoge.jpgの横幅がalertされ、
  • Firefoxだと、2.jpgの横幅がalert表示された。

実装依存な問題みたいです。