JavaScriptはブラウザやバージョンによって動かないということが非常に多く、きちんとバージョンチェックをしておかないと、エラーの嵐が襲ってきたりします。
 そこで今回はバージョンチェックをしっかり学習してみることにします。
 普通、最初のうちにやることじゃ無いのか?という意見もあるような、無いような(あるんだってば)
先ず、バージョン分岐の手としては、SCRIPTタグのLANGUAGEオプションにバージョンを記述するという手がある。NOSCRIPTタグも併用すれば、JavaScriptを使えないブラウザにもちゃんと反応することができる。
あなたの現在使用中のブラウザは「JavaScriptポケットリファレンス」によると、バージョンナンバーとブラウザの対応は以下の通り。
| N2 | N3 | N4 | IE3 | |
|---|---|---|---|---|
| JavaScript1.2 | × | × | ○ | × | 
| JavaScript1.1 | × | ○ | ○ | ○ | 
| JavaScript | ○ | ○ | ○ | ○ | 
| JScript | × | × | × | ○ | 
| LiveScript | ○ | ○ | ○ | ○ | 
しかし、これでは、それ以上のバージョンでは動くというものは作れても、それ以下でのみ動くというものは作れないな。
丁寧にチェックをするならば、プログラム内部で細かく分岐する必要も出てくるので、ナビゲータープロパティ(属性)のappVersionを見てみるといい筈。
 appVersionの価を見てみると、
、となっている。
 数字以外にも色々とくっ付いてくるので、このままでは、分岐処理しにくい。
 幾つかのブラウザで確認した所、頭の3文字までは必ず数字のバージョンが返ってくるようだ、4文字めからは細かいバージョンでb(ベータ)とか入ってくるので、必ず数字が返ってくるとは限らない、普通はそんなに細かいバージョンチェックの必要性は無いので、これだけ取れればいいだろう。
 substringメソッドを使って	(navigator.appVersion).substring(0,3)と書けば、ブラウザのバージョンの数字だけが得られるという訳。
 上のスクリプトを最初に(HEAD内に)仕掛けて、グローバル変数に記録しておいたりすると便利だろう。
 ついでに、
ってな感じに記述すれば、3.0以上ならばtrue、それ未満ならばfalseが得られるので、その後の処理で、
if(B_VER){...}と言う感じに書けて、とっても便利ですね。
今日はここまで。