フォームパーツがフォームの何番目かを調べるJavaScript

フォームでちょっとゴニョろうとしまして、パーツが何番目にあるのか取得する必要が出てきました。
ちょっとだけ調べてみましたが、ズバリそのものを取得できるメソッドがないようです。
document.form(0).item(0).focus()みたいに、指定は出来るんですが、オブジェクトから逆引きが出来ないみたいです。
ライブラリにあるとは思うんですけど、それっぽいのが見つからず、コード自体も大したことないですし、自前で用意してみました。
やり方は簡単、パーツを順番に走査するだけ、こんな感じ。

function getNumberByItem( itemObj ){
	var formObj = itemObj.form;
	for( var i = 0; i < formObj.length; i++ ){
		if( itemObj == formObj[i] ) return i;
	}
	return null;
}

指定されたオブジェクトの種類の確認もつけておけば安心ですね!

InternetExplorer8でJavaScriptのimageオブジェクトの挙動が怪しい

FLASHに頼らずJavaScriptで画像なとを扱うツールをこさえているのですが、IE7では問題なかったものがIE8でおかしくなっている。
IE8に搭載されているIE7互換モードでもだめ、どうやら純粋なIE7のレンダリングエンジンではないようだ。
問題となっているのは、非同期でimageを読んで表示を更新するものだけど、imageオブジェクトでcompleteがtrueになっているにもかかわらずwidthとheightの値が更新されていない。FirefoxやOpera、safariではもちろん正常に機能する。だめなのはIE8のみ。IE7を信じて調整を行って損した。
これからは絶対にIEを信じることはないだろう・・・

window.onunloadでハマる

ブラウザの履歴操作をイベントとして捕捉しようと調べていましたが、
ブラウザによってwindow.onunloadの挙動が微妙に違うようです。

window.onunload対応表(動作確認:Windows Vista)
ブラウザ 戻る 更新 進む 閉じる(タブ) 閉じる(ウィンドウ)
Internet Explorer 7.0
Firefox 2.0
(lolifox0.3.6)
Firefox 3.0
Opera 9.51 × ×
(ブラウザの進む機能は無効)
× ×
Google Chrome ベータ

細かい仕様は確認していませんが、Operaはスクリプターにとってはあまり歓迎されない実装をしているようです。

(※この比較表は、ブラウザの履歴機能と、HTML内のち通常リンクで検証しており、historyオブジェクトによるページ推移は考慮されていません。)