• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IEのバージョンチェック)

IEのバージョンチェック

このQ&Aのポイント
  • HTML内にIEのバージョンを表示させる方法と、表示される結果が異なる場合の原因を説明します。
  • HTML内でnavigator.userAgentとnavigator.appVersionを使用してIEのバージョンを表示させると、結果が異なることがあります。これは、閲覧するWebサーバに依存する可能性があるためです。
  • 他の人に対して説明する際は、閲覧するWebサーバに依存することを説明し、結果が異なる場合の原因についても触れるとわかりやすいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

その原因はIEの「互換表示」機能じゃないでしょうか。 IE8 互換表示 - Google 検索 http://www.google.co.jp/search?q=IE8+%E4%BA%92%E6%8F%9B%E8%A1%A8%E7%A4%BA 私もDOCTYPE宣言やmetaタグに影響されることはチラっと知ってましたが、UA自体が変わるとは知りませんでした。 Internet Explorer 8 の User-Agent 文字列 (更新版) http://msdn.microsoft.com/ja-jp/ie/dd557721.aspx また、HTTPレスポンスヘッダに「X-UA-Compatible: IE=emulateIE7」を加えれば、問答無用でIE7に変わるらしい(!!) IISのサイト設定でIE8の互換表示モードを強制する http://www.atmarkit.co.jp/fwin2k/win2ktips/1154iisiecmp/iisiecmp.html 現在の互換レンダリングモードは「document.documentMode」で分かるようですね。 「互換表示 X-UA-Compatible: IE=emulateIE7」とかでも検索してみてください。 混乱に拍車をかけるMS、恐るべし!

jg1wjz
質問者

お礼

ありがとうございます、すっきりしました! IE8の対応の作業(htmlの文法やcssの指定など)を していて、IISサーバ内のhtmlは全てのMETAタグに  X-UA-Compatible IE=EmulateIE7  を指定しました。 まだIE6のユーザもいることを仮定しなければならないし。。。 document.documentModeも見てみました。 「5」でした。 IE8の判定フローを見たところ、確かにQuirksモードです。 IE8の対応にhtmlの文法やcssの指定などを書き換えながらも 互換性モードは捨てきれず、 これがいい方法なのか、この指定でいいのか 私には判断ができません。 とりあえず、このまま進めてしまうことになりそうですが。 まだまだ未知なことばかりで、勉強になりました! 有難うございました。

関連するQ&A

専門家に質問してみよう