プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

IE10の互換表示モードはIE7相当

IE10のURL欄右にあるボタン「互換表示」は、昔に作られた古いWebページが正しく表示できない場合にONにすると、崩れずに表示できるかもしれない便利な機能です。
WS000000

実際、社内用ページなどでは、IE6を前提に作られたASP.NETのページなんかが結構あって、IE10に変わった時には問題になりました。(業務システムだとIE6でしか動かないWebシステムが当たり前のように存在します。)

表示が崩れるだけでなく、機能しない状態になりました。
そんな状態でも、この互換表示機能をONにすることで、今までどおり使用できています。

互換表示をONにした場合、IE7のStandardsモードでの表示となるようです。
あくまでも互換なので、IE7そのものではありません。
IE7での動作確認用としてこの互換表示に頼りすぎると痛い目を見るかもしれません。

この互換表示をONにした際にはUserAgentが変わります。
たとえば、
IE10の場合、

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)

互換表示をONにすると、

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)

見かけ上はIE7ですね。

気をつけなくてはいけないのが、
互換表示しているIE7なのか、本物のIE7かの区別が非常につきにくいというところです。
既存のJavascriptでの判定だと、区別できません。
UserAgent中に「Trident」の記載があるかどうかで、互換表示のIE7か本物のIE7かの区別ができるようです。

逆に、IE10でないと機能しないように制限をしている場合、互換表示ONの状態では、たとえIE10ブラウザでも拒否されることになります。
互換表示は一度ONにすると、ONにしたドメインでは常に互換表示ONになります。

IE10使ってるのに動かないじゃないか!!なんていう思わぬクレームになるかもしれません。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です