IE7はIE6になる?
2009年9月15日
青柳 臣一 ブログ(総合) [IE] navigator.appVersion がバグるより。
そこで navigator.appVersion を表示させてみました。結果は↓
4.0 (compatible; MSIE 6.0)
あれれ?
試しに navigator.userAgent を表示させてみると、
Mozilla/4.0 (compatible; MSIE 6.0)
なにそれこわい。
User Agent が長すぎると navigator.appVersion や navigator.userAgent がバグっちゃうのね。
IEダメすぎる......。jQuery.browser もアウトなんじゃ......(jQuery.browser はnavigator.userAgent を利用してるから)。
これって、「IE6用のJSファイルを用意して、<!--[if IE 6.0]> 系の分岐コメントを使え」という話?
「そもそもブラウザのバージョン別にどうにかしようとするな」とかいう話?
その後。
- とりあえず、ユーザーエージェント の例。
- Operaも「IEです」と言い始めることがある (Operaの仕様)。
- 「ブラウザ判断に navigator.appVersion を使ってたからダメだったの? navigator.userAgent だったらうまくいくの?」と思ったけど、どっちでも一緒。appVersion は userAgent の一部だから。
- IEのバージョン判断なら <!--[if IE 6.0]> 系の分岐コメント最強。でもJSファイルをわけわけする必要あり。間単にわけわけできるなら最強だけど、実際どうなの。
結論: どうなの。