- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IEのバージョンチェック)
IEのバージョンチェック
このQ&Aのポイント
- HTML内にIEのバージョンを表示させる方法と、表示される結果が異なる場合の原因を説明します。
- HTML内でnavigator.userAgentとnavigator.appVersionを使用してIEのバージョンを表示させると、結果が異なることがあります。これは、閲覧するWebサーバに依存する可能性があるためです。
- 他の人に対して説明する際は、閲覧するWebサーバに依存することを説明し、結果が異なる場合の原因についても触れるとわかりやすいです。
- みんなの回答 (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、恐るべし!
お礼
ありがとうございます、すっきりしました! IE8の対応の作業(htmlの文法やcssの指定など)を していて、IISサーバ内のhtmlは全てのMETAタグに X-UA-Compatible IE=EmulateIE7 を指定しました。 まだIE6のユーザもいることを仮定しなければならないし。。。 document.documentModeも見てみました。 「5」でした。 IE8の判定フローを見たところ、確かにQuirksモードです。 IE8の対応にhtmlの文法やcssの指定などを書き換えながらも 互換性モードは捨てきれず、 これがいい方法なのか、この指定でいいのか 私には判断ができません。 とりあえず、このまま進めてしまうことになりそうですが。 まだまだ未知なことばかりで、勉強になりました! 有難うございました。